tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^4: DLLへの文字列ポインタについて
投稿日: 2008/05/19(Mon) 21:40
投稿者cc
教えていただいた内容を
確認してみました。

事前実験で、
私もVBのStringを、DLLでchar *として扱う方法で
渡ってたので良いのかと思いました。
ただ、DLL側でデバッグし、
VB側から送った文字列の先頭アドレスを見ると、
Unicodeではなく、ANSI文字列が入っていました。
と言うことは、BSTRではなく、char *として扱ってもよいのかと考えていました。
Q1.自動的にUnicode→ANSIされるのでしょうか?


Q2.DLLの変更は避けたいのです。
となると、
    Type STRCT
            ldat_A As Long       ' データA
            lptr As Long         ' ファイル名
            ldat_B As Long       ' データB
    End Type
とし、
    Dim strct_d As STRCT
    strct_d.ldat_A = 5           ' データA
    StrPtr(StrConv("test.txt", vbFromUnicode)) ' ファイル名
    strct_d.ldat_B = 6           ' データB
    ret = DllFunc(strct_d)
の様に処理するのはNGなのでしょうか?


アドバイス頂けないでしょうか?
よろしくお願いします。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。