喫茶XRAYトップページ

[スレッド全体
]

[1478] Re3:コンテキストメニューの作成返信 削除
2007/12/23 (日) 17:08:07 宮 〔HomePage
▼ Mr.XRAYさん
> 何かDLLのいい例があればと思うのですが...

早速教えて頂きありがとうございます。
いままでDLLなんてWindowsフォルダに入っているファイルと
しか認識していませんでしたが
まさか、これを作る羽目になるとは・・・
キーワードが判れば検索したらたくさん出てきましたので
ひとつひとつ探してみます。
残念ながら、D6 Personalにはこのデモファイルは
入っていませんでした。
GUIDは作成できました。レジストリーを開くといっぱい
出てくるキーですね。

ひとつ、質問がありますが
新規作成→DLL作成ウェザードで開くと次のようなさっぱりとした物しかでませんが
library Project1;
uses
  SysUtils,  Classes;
{$R *.res}
begin
end.
 http://homepage3.nifty.com/m-and-i/tips/shellext.htm
の例では、どうみてもフォームのないユニットだと思いますが
これをどのようにコンパイルするとDLLになるのでしょうか。
コンパイルの仕方が判りません。
よろしくお願いします。


[1479] DLLの作成方法返信 削除
2007/12/23 (日) 17:26:17 Mr.XRAY
▼ 宮さん

>  http://homepage3.nifty.com/m-and-i/tips/shellext.htm
> の例では、どうみてもフォームのないユニットだと思いますが
> これをどのようにコンパイルするとDLLになるのでしょうか。


上のURLの内容は確認していませんが,
宮さんは,EXEファイルを作成する時に[実行]ボタン(右矢印)か[F9]キーを
押下していると思いますが,この操作は,実は

(1) 必要なPASファイルなど,コードをコンパイルし,中間コードを作成
(2) それらの中間ファイルを関連付けて必要なオブジェクトを結合する
(3) 最終的に,実行可能なファイル(EXE)ファイルを作成する

などを一気に実行するものです(Delphiが初めて実現しました.後の言語も
これに追従しました).

この(1)(2) (コンパイル)は,キー操作では[Ctrl]+[F9],
メニューでは[プロジェクト][XXXXXをコンパイル]です.
(XXXXXはプロジェクト名です.デフォルトではProject1です)
この時,必要なファイル(PASまたはDCU)がないとエラーとなります.

ユニットの先頭にlibraryがあると,自動的にDLLファイルができます.
注意することは,コンパイルすべきユニットなりプロジェクトがアクティブに
なっている必要があります.
これは,複数のプロジェクトをIDEで開いて開発している時は重要です.

そうしないと,DLLのユニットのコードを変更したのに,そのDLLを利用する
プログラムに結果が反映されず,
「あれっ?! 直したハズなのに...?」
ということになることがあります(よくやってしまいまうんですよね).



[1480] Re:DLLの作成方法返信 削除
2007/12/24 (月) 02:44:06 Mr.XRAY
▼ 宮さん

> の例では、どうみてもフォームのないユニットだと思いますが
> これをどのようにコンパイルするとDLLになるのでしょうか。


簡単に言うと,EXEファイルを作成する[実行]ではなく,コンパイルだけを
行います.
コンパイルだけをするには[Ctrl]+[F9]です.
メニューでは[プロジェクト][XXXXXをコンパイル]

ということです.


[1481] Re2:DLLの作成方法返信 削除
2007/12/24 (月) 11:54:12 宮 〔HomePage
▼ Mr.XRAYさん
>
> 簡単に言うと,EXEファイルを作成する[実行]ではなく,コンパイルだけを
> 行います.
> コンパイルだけをするには[Ctrl]+[F9]です.
> メニューでは[プロジェクト][XXXXXをコンパイル]
>
> ということです.


易しく解説して頂きありがとうございました。
やっと判りました。

Delphiを初めてやり出したとき、フォームにコンポーネントを貼り付け
F9を押して、「ほら、出来たでしょう」にびっくりして、
その後、その延長で、ぺたぺたコンポを貼り付けて
アプリを作った(いや、出来てしまった)ので、その他のことは全く無知なんです。

最近では「DelphiQ&A」も私が質問している内容から中級レベルと想定されて
高度な回答をいただくのですが、さっぱり判らないのです。
最後は、やっぱりココにお願いすることになります。すみません。<(_ _)>

そろそろ、やりたい自作アプリも完成してきたので、かねてから疑問に
思ったこと、知りたかったことをボチボチ勉強したり、バグつぶしにいそしんでいます。

今回の件も、じっくり取り組んでマスターしていきます。
ちまたでDelphiの将来を危惧されるページも散見しますが、
Delphiは、今更ながらすごい言語ですね。
判らなくてもそこそこのアプリが出来るのですから。
先日教えて頂いたC#言語など#系は、調べたのですが結局マイクロソフトが
WindowsにくくりつけてLinuxなどへ流出するのを防ぐための戦略ですね。
好きにはなりませんでした。

ありがとうございました。
では。




[▼次のスレッド]
INCM/CMT
Cyclamen v3.82