掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
動的構造体の受け渡し(VB→Delphi(DLL)) (ID:16774)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
皆さんこんにちは。 お知恵を拝借できましたら幸いです。 只今VBの構造体をDelphiで作成したDLLへ渡しています。 VB:''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Public Type TRecData intX As Long intY As Long arrint(31) As Long strS As String End Type Public Declare Function OpenDllForm Lib "arrDelTest.dll" (RecData As TRecData) As Boolean Private Sub Command1_Click() Dim RecD As TRecData Dim i As Integer For i = 0 To 31 RecD.intBui(i) = i Next RecD.intX = CLng(Text1.Text) RecD.intY = CLng(Text2.Text) RecD.strS = Text3.Text RecD.dDate = Date If OpenDllForm(RecD) = False Then End If End Sub Delphi:///////////////////////////////////////////////////////////// type TRecData = record FIntX :Integer; FIntY :Integer; FarrInt :array [0..31] of Integer; FStrS :PChar; end; //===========(略) var frmArrDll: TfrmArrDll; function OpenDllForm(var RecData:TRecData):Boolean; stdcall; implementation var RecD :TRecData; {$R *.dfm} function OpenDllForm(var RecData:TRecData):Boolean; stdcall; begin frmArrDll := TfrmArrDll.Create(Application); try RecD := RecData; if frmArrDll.ShowModal = mrOk then begin end; finally frmArrDll.Free; end; end; end. 以上で、VBの構造体をDelphiのRecord型に渡す事までは出来たのですが 問題は、これを動的配列で渡したいのですがうまくいきません。 VBでは、上記の構造体に対して Public Declare Function OpenArrayForm Lib "arrDelTest.dll" (arrData() As TRecData) As Boolean Private Sub Command2_Click() Dim arrData() As TRecData ReDim arrData(3) ’(略) If OpenArrayForm(arrData()) = True Then End If End Sub で、渡せるとあるのですが。 Delphi側でどうしたら良いのかさっぱり判りません。 まる投げのようで申し訳ないのですが、何かヒントでも頂ければありがたく思います。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.