- yangjiayi
- ベテラン
- 会議室デビュー日: 2007/10/04
- 投稿数: 59
|
投稿日時: 2008-09-08 16:20
こんにちは。
PowerBuilder11.2の中で、VB2008でコンパイルしたDLLを読み込みたいです。
ネットでいろいろ探してみましたが、試しもやってみたが、うまくいかなかったです。
例えば、VB2008で以下のようなファンクションを作成します。
コード: |
|
Public Function func_intsum(ByVal argint1 As Integer, ByVal argint2 As Integer) As Integer
func_intsum = argint1 + argint2
End Function
|
コンパイルし、intsum.dllと命名します。
それから、Powerbuilder11.2で以下のように定義します。
コード: |
|
Function int func_intsum(int argint1,int argint2) Library "D:\intsum.dll"
|
ですが、Powerbuilder11.2はこのファンクションは使えませんでした。
なにか注意点か、テクニックはあるのでしょうか。
ぜひご教授ください。
待っています。
_________________ yangjiayi
|
- まるく
- 大ベテラン
- 会議室デビュー日: 2004/01/09
- 投稿数: 181
|
投稿日時: 2008-09-09 12:12
VB2008 で作成したクラスライブラリ dll は .NET からしか扱えません。
COM コンポーネントとして開発してください。
http://msdn.microsoft.com/ja-jp/library/microsoft.visualbasic.comclassattribute.aspx
引用: |
|
yangjiayiさんの書き込み (2008-09-08 16:20) より:
こんにちは。
PowerBuilder11.2の中で、VB2008でコンパイルしたDLLを読み込みたいです。
ネットでいろいろ探してみましたが、試しもやってみたが、うまくいかなかったです。
例えば、VB2008で以下のようなファンクションを作成します。
コード: |
|
Public Function func_intsum(ByVal argint1 As Integer, ByVal argint2 As Integer) As Integer
func_intsum = argint1 + argint2
End Function
|
コンパイルし、intsum.dllと命名します。
それから、Powerbuilder11.2で以下のように定義します。
コード: |
|
Function int func_intsum(int argint1,int argint2) Library "D:intsum.dll"
|
ですが、Powerbuilder11.2はこのファンクションは使えませんでした。
なにか注意点か、テクニックはあるのでしょうか。
ぜひご教授ください。
待っています。
|
|
- unibon
- ぬし
- 会議室デビュー日: 2002/08/22
- 投稿数: 1532
- お住まい・勤務地: 美人谷 良回答(20pt)
|
投稿日時: 2008-09-09 13:07
引用: |
|
yangjiayiさんの書き込み (2008-09-08 16:20) より:
それから、Powerbuilder11.2で以下のように定義します。
コード: |
|
Function int func_intsum(int argint1,int argint2) Library "D:intsum.dll"
|
ですが、Powerbuilder11.2はこのファンクションは使えませんでした。
|
「Powerbuilder11.2」はぜんぜん知りませんが、DLL ファイル名を直接指定することから考えると、VB(VB6 やそれより前のバージョン) から Declare を使って呼べるようなものと同じ形式の DLL でないとダメなのだろうと思います。(間違っているかもしれませんが。)
|
- yangjiayi
- ベテラン
- 会議室デビュー日: 2007/10/04
- 投稿数: 59
|
投稿日時: 2008-12-19 11:12
結局、VC++2008のコンソールDLLで、ファンクションを作って、VBとPB両方でも使えるように作っていくことを検討しています。
いろいろありがとうございます。
_________________ yangjiayi
|