- - PR -
Delphi8にて動的DLLの呼び出し方法
«前のページへ
1|2|3
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-03-09 13:41
objectです。
途中で、 「LoadLibrary」と「GetModuleHandle」が出て来た為焦点が少し曖昧になったと思います。 これは参照カウントの関係もありますから、状況に応じてどちらかを使えば問題は無いと思います。 つまり、「LoadLibrary」と「GetModuleHandle」の呼出し自体には、大きな問題はないと私は感じています。 寧ろ、「ボーランド」のポインタに対するスタンス・実装に問題があって、「灼熱」さんの問題が発生しているのではないでしょうか? #動的ロードと言いながら、静的ロードに変換されている様でもあります。 「灼熱」さんの最初の問いかけに対して、私は @FunTest := Pointer(GetProcAddress(LibHandle,'FunTest'));// <==ここでエラー と答えましたが、考えてみれば例えVCL.NETでのコードだとしても、「Pointer」キャストをしないとコンパイルすら出来ないという事自体、少し異常ですよね? キーワード「unsafe」はありますが、これ無しで「Pointer」が使える事にも私は???です。 メソッドポインタに「デリゲート」で対応している様な説明がありますが、キーワードとしての「delegate」は無い様です。 最初私は、そんなに大きな問題では無いと思っていました。 でも今は、「VCL.NET」のポインタに対するスタンスと実装に、少し疑問を持っています。 私の勘違いと単なるバグの可能性も含めて、「Delphi.NET」に関してはもう少し詳しく知る必要がありそうですね。 [ メッセージ編集済み 編集者: object 編集日時 2004-03-09 14:44 ] |
|
投稿日時: 2004-03-10 10:09
「object様」
返信ありがとうございます。 >>「LoadLibrary」と「GetModuleHandle」…(省略)…実装に、少し疑問を持っています。 う〜ん、私には少し難しい話ですが、この辺りも徐々に勉強して いきたいと思います。 >>私の勘違いと単なるバグの可能性も含めて、「Delphi.NET」に関してはもう少し詳し >>く知る必要がありそうですね。 はい、まだまだ「Delphi.NET」に関して知る必要がかなり要ると思います。 また、何か分かりましたら、ご連絡致します。 (一番数多い返信ありがとうございました。) |
|
投稿日時: 2004-03-20 18:25
灼熱様
けんのんですが、ご返事遅くなってすみません。横道レスだったもので…。 Delphi 6になってから、DLLを自作で作っていなくて、手持ちのものがなかった ので、適当にそのあたりにころがっている誰かが作ったDLL何種類かためして みましたが、エラーは出ず、動作するようです。(ASP.NETのWeb App.で。) 6か7でコンパイルしたDLLを読み込んだら… ということでしたら、ちょっとコンパイルしてやってみますが…。 今日は、朝から8と奮闘しているのですが、どう考えてもバグとして思われない ようなものが何点か出てきて、Borland USAに行ってみたら、あるはあるは、 パッチが…。もう、すでに、アップデータの#2まで出ていて、 日本語版に英語のパッチあてるのは気が進まないのですが、ジャパンの対応を 待っているのもじれったいし、ジャパンはいい気なもんで、 「最新のアップデートはUSAにあります。」なんて言っているので、 さっきから、重いファイルをダウンロードしているところです。 今までの経験からすると、私が頻繁に使うくらいのレベルのバグは、 アップデータの#1、#2あたりで、つぶされているので、 楽しみではあります。 ではまた。 |
«前のページへ
1|2|3