- - PR -
VB .NetのDLL参照について
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-03-29 12:21
初めて1ヶ月も初心者もので、初めて投稿します。
名前付パイプの処理をしているのですが、DLLが参照できません。 Public Class ClsJi01 Public Declare Function MakePipe Lib "¥¥DLL¥¥Point.DLL" (ByVal pipe_name As String, ByVal buf_size As Integer, ByVal max_instances As Short, ByVal hpipe As Integer, ByVal err_code As Integer) As Integer Public Sub M_Pipe() Dim r As Integer Dim rpipe As Integer Dim err_code As Integer r = MakePipe("¥¥¥¥¥.¥¥pipe¥¥RS04", 255, 16, rpipe, err_code) End Sub End Class Point.DLLは以前VB6.0の時に使用していたDLLで自作です。 これで実行すると「オブジェクト参照がオブジェクト インスタンスに設定されていません。」と出ます。 インスタンスを設定するにはどうしたら良いのでしょうか? | ||||||||
|
投稿日時: 2005-03-29 12:27
同一サイト内で、マルチポストとは... 如何なものか... (^^)
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=20177&forum=26 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-03-29 16:20
すみませんでした。
削除しました! | ||||||||
|
投稿日時: 2005-03-29 17:12
VB.Net は全然存じませんので
回答ではないのですが
自作の関数ということなので関数の仕様を存じませんが名前から想像すると hpipe (パイプのハンドル) err_code (発生したエラーコード) のようですが、ByVal で正しいですか?
必要箇所を抜き出しただけで全文ではないのかもしれませんが これだと rpipe と err_code を初期化していないように見えますが初期化してますか? の 2 点あたりが少し気になったのですがそれは良いのでしょうか? | ||||||||
|
投稿日時: 2005-03-29 18:22
正しくは
Public Declare Function MakePipe Lib "¥¥DLL¥¥Point.DLL" (ByVal pipe_name As String, ByVal buf_size As Integer, ByVal max_instances As Short, ByRef hpipe As Integer, ByRef err_code As Integer) As Integer でした。 ByRefとByValについて調べてみてわかりました。 どうもありがとうございました! |
1