初めまして、Delphi暦2年の初心者です。
今、C#で作られたDLL内に定義してあるクラスをDelphiで使用したいと悩んでおります。
DLL内の関数を使う方法はわかるのですが、クラスだとどのようにしたらいいのかわかりません。
どなたかご存知ないでしょうか?
使っているDelphiは6で、C#はVS.NET2003です。
宜しくお願い致します。
一応自分なりに調べ尽くしてみて、.NETのDLLをタイプライブラリにして、Delphi側で取り込もうとしてみました。
すると、パッケージのコンパイル時にmscorlib_TLB(意識的に作ったものではありません)内で、'Byte型の宣言が完了していません'等のエラーが発生し、取り込む事が出来ません。。。
該当箇所は
Byte = packed record
m_value: Byte;
end;
のようになっています。
これは、何か書き換えればよいのか、そもそもC#のDLLは取り込めないのか。。。
どなたかご存知ないでしょうか?
私も詳しいわけじゃないけど?
オプションのタイプライブラリのIDL形式とかDelphi形式って
取り込んだ後の話なんだっけ?
>>Byte = packed record
このネーミングがまずいって落ち?
返信ありがとうございます。
ネーミングがマズイんですかね?
他にも
Integer = packed record
m_value: Integer;
end;
のような箇所があるんですけど、これはエラーになってないんです。
なお、
Byte = packed record
m_value: Byte;
end;
は
Byte = packed record
m_value: Currency;
end;
に変えるとエラーではなくなりました。
根本的には何の解決になってないでしょうけれども。。。
タイプライブラリには形式があるんですか。
ちょっと情報探してみます。
ツイート | ![]() |