关于DELPHI调用VC的DLL中的结构体的问题! ( 积分: 200 )

  • 主题发起人 主题发起人 瞿巫西
  • 开始时间 开始时间

瞿巫西

Unregistered / Unconfirmed
GUEST, unregistred user!
一,VC中结构体声明如下<br>&nbsp;&nbsp;struct&nbsp;Ttest<br>{<br> long&nbsp;m_iAcctID;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;m_iPaymentMethod;<br> long&nbsp;m_iPaymentPlanID;<br> long&nbsp;m_lBalance;<br> char&nbsp;m_str[10];<br>};<br>int&nbsp;WINAPI&nbsp;&nbsp;DLL_CallGetOweAcct(&nbsp;Ttest&nbsp;&amp;test1);<br>2,DELPHI中的结构体声明如下<br>&nbsp;&nbsp;PTest&nbsp;=&nbsp;^Ttest;<br>&nbsp;&nbsp;Ttest&nbsp;=&nbsp;record<br>&nbsp;&nbsp;&nbsp;&nbsp;m_iAcctID&nbsp;:integer;<br>&nbsp;&nbsp;&nbsp;&nbsp;m_iPaymentMethod&nbsp;:integer;<br>&nbsp;&nbsp;&nbsp;&nbsp;m_iPaymentPlanID&nbsp;:integer;<br>&nbsp;&nbsp;&nbsp;&nbsp;m_lBalance&nbsp;:integer;<br>&nbsp;&nbsp;&nbsp;&nbsp;m_str&nbsp;:&nbsp;Pchar&nbsp;;<br>&nbsp;&nbsp;end;<br>调用部分为<br>test1&nbsp;:&nbsp;PTest;<br>getmem(test1,sizeof(TTest));<br>DLL_CallGetOweAcct1(test1);<br>freemem(&nbsp;test1);<br>问题:<br>1,我用了VC写了一个DLL调用,结果无问题,但用DELPHI调用则有错<br>2,我把结构体中的&nbsp;m_str去掉之后,则DELPHI调用无问题,加上则会报错<br>请高手解答,200分送上
 
m_str&nbsp;:&nbsp;array[0..9]&nbsp;of&nbsp;char;
 
这样行吗?&nbsp;<br>m_str&nbsp;:&nbsp;array[0..9]&nbsp;of&nbsp;char;&nbsp;和&nbsp;char&nbsp;m_str[10]&nbsp;不是一样的定义声明吧?
 
不过老兄,你说得不错,这样确实可以获取到m_str[10]的信息..<br>但是我还要对m_str&nbsp;:&nbsp;array[0..9]&nbsp;of&nbsp;char;进行字符串处理,<br>请问为什么用PCHAR不行呢?<br>分数先奉上,谢谢
 
接受答案了.
 
后退
顶部