フレ-ムの移行

解決


ガニメデ  2020-01-27 16:15:59  No: 148489

 A・pcにあるDelphi・フレームを B・pc Delphi コンポーネント・パレットに
表示し、使えるようにしたいのですが、コピーできますか?


Mr.XRAY  2020-01-27 19:19:29  No: 148493

> コピーできますか? 

お互いの PC が LAN 上にあれば,共有フォルダを介してコピーできます.
そうでない場合は,USB 等の外部記憶メディアを使用します.
あるいは,インターネット上のどこかに UP ロードして,
それをダウンロードします.

このことは,一般的に,ファイル全般に言えることです.


ガニメデ  2020-01-27 20:20:11  No: 148494

ガニメデ
質問の仕方が、あやふやでした。ごめんなさい。

長いこと使っていたPcのハードデスクがクラッシュしました。
使っていた環境は、Windows10、Dlphi7です。
起動できなくなり、ハードデスク同士のクローン作製もできない状態です。
本当は、壊れたデスクから、デルファイ関係すべて取り出して
 元のDelphi 環境を復元したいのですが、うまくいきません。

作っていたプログラムとデータは外部デスクにBkupしていました。
今やっていること、
1・新しいハードデスクを用意して、Windows10をインストール
2・CDからDelphi7 Pro の再インスト―ル
3・IndyとJedi の再インストール
4・使っているコンポーネントの再インストール

 とここまで来たのですが、フレームの再インストールが
わかりません。

Mr.XRAY に直接教えていただき光栄です。
公開されているコンポーネント類の多くを有難いく使わせて頂いています。

よろしくお願いいたします。


Mr.XRAY  2020-01-27 21:04:22  No: 148495

> フレームの再インストールがわかりません。

フレーム (TFram) は他のユニット類 (コンポーネントのユニットも含めて) 扱いは同じです. 
フレームそのものはインストールという作業はありません.
コンパイル済みの dcu ファイルか pas ファイルか,
ライブラリのパスが通った場所にあれば使用可能です 


ガニメデ  2020-01-27 23:02:18  No: 148497

コピーして持ってきたフレームは、
B・PC上の新規作成Formに張り付けるとき、パレット上のページには
登録されていないので、使用できません。

これでは使えないので、パレットページに登録しようと
表示させ、その上で右クリックで
「表示・パレットに追加」を選んでパラメータを入力しても
「選択されたコンポーネントは %sへの依存関係をもっていますが
  このユニットを見つけることができません」と先に進めません。
 *%sは登録しようとしているファイル名です。


Mr.XRAY  2020-01-28 06:42:25  No: 148499

「依存関係」とか「ファイルが見つからい」というのは,
これから先,プログラムを続けていく上で基本的な意味が含まれています.
この種のエラーは,一般的に文字通りのエラーです.

直接解決に結びつく記事がヒットするとは限らないと思いますが,
自分で検索して調べたのがいいと思います.
あるいは他の方からのレスに期待してください.


take  2020-01-28 08:49:06  No: 148501

>B・PC上の新規作成Formに張り付けるとき、パレット上のページには
>登録されていないので、使用できません。

パレットに登録しなくてもクラスとして使えるのでは?

自分自身もやってしまった経験がありますが環境の移行を考えると
取り込みやインストール、パレットは使わない方が良いです。
特にフレームをパレットに取り込むのは便利そうですが罠もあります。

使いたいというフレームを構成する xxx.pas と xxx.dfm があればそれをコピーして

新しいプロジェクトとしてそのフレームクラスを生成するプログラムを書いてみて
エラーが出てユニットが足りなかったら必要なユニットをまたコピーしていくという方法はどうでしょうか?


ガニメデ  2020-01-28 20:46:36  No: 148503

>パレットに登録しなくてもクラスとして使えるのでは?
>特にフレームをパレットに取り込むのは便利そうですが罠もあります。

Takeさん 、新しい視点を有難うございます。

フレームにフレームを2個入れたフレームを作ったりしていたので
大変です。

* 古いフレーム 壊れたPcからコピーしたフレーム 例 soundVs.Pas

古いフレームがパレットに登録できないのは、Mrのご指摘どうり
Uses に記載したユニットにパスが通っていないためだとおもいます。

そこでテストをしました。
テスト1
1 古いフレームは、15個位あるのですが、その中で簡単なフレーム(soundVs.Pas)を選び、
フレームを表示させます。
2 右クリック・メニューから「パレットに追加」を選びダイアログにパラメータを入力してOKボタンを押します。
3 「コンポーネントは 依存関係 ユニットを・・・」のコメント エラーで登録不可
そこで
テスト2
1 新規のプロジェクトを作ります。
2 プロジェクトに古いフレームsoundVs.Pasを追加します。
3 プロジェクトMainFormのUses に古いフレーム名’soundVs’も入れておきます。     
4 コンパイルして、エラー箇所を//で つぶす。
5 エラーが起こらなくなるまで続ける。
6 コンパイラが通ったらフレームを表示させます。
7 右クリック・メニュー・パレット・パラメータを入力して
  OKボタンを押します。
8 エラーが出ずフレームは、指定するパレットページに追加できました。
9 プロジェクトの親Formにパレットページのフレームを選択し
  貼り付けて、表示を確認しました、
  この後実際につかうためには、// (コメント文)を外しながらエラー箇所の対応が必要

テストして分かったことは、
Uses の全ユニットにパスが通ってることだとおもいました。

Takeさんフレームの甘い罠にまんまと引っかかった私ですが、
今後も使い続けていくと思います。
ばかなわたし

前途多難ですが、とりあえず古いフレームをパレットページに表示出来ましたので
解決といたします。

Mr.XRAYさん、Takeさん、御協力有難うございました。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加