Y yz Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-16 #1 在Delphi中调用WIN API时,常常因API参数类型不必配而出错,清高手指点一下<br>Windows API与Delphi变量类型的是如何对应的?因该如何调用比较合适?有无参考资料?
W wjiachun Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-16 #2 主要就是Pchar和string的问题而已,注意就是了,哪来那么多的类型不匹配?
K Kylix㊣ Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-16 #4 补充:<br>必要时还得用类型转换。如有些Api函数,lparam参数在Delphi被定义为LongWord,<br>但在Api函数中有时是作为指针变量来用的,这是就需要强制类型转换。<br><br>
A addie Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-16 #5 wjiachun近日是否贵体欠恙?语气总是这么厉害。<br>玩笑,别介意。
C Chenlili Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-16 #6 主要就是PCHAR的问题,而且绝大多数API delphi已经做了封装,看看source下面的文件<br>参考一下就行了。
Y yaya8163 Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-16 #7 var<br>s :string;<br>begin<br>setlength(s,256); //重要!首先给字符串分配空间<br> //调用A P I 函数,S 现在包含目录字符串<br>getwindowsdirectory(pchar(s),256)<br>RealizeLength(S);
var<br>s :string;<br>begin<br>setlength(s,256); //重要!首先给字符串分配空间<br> //调用A P I 函数,S 现在包含目录字符串<br>getwindowsdirectory(pchar(s),256)<br>RealizeLength(S);
S sandal Unregistered / Unconfirmed GUEST, unregistred user! 2001-06-08 #10 var<br> username:array[0..30] fo char;<br> size:word;<br>begin<br> size:=sizeof(username);<br> fillchar(username,size,''); 復位<br> getusername(username,size);<br>end;<br>以上代碼在winNT和win9x 中運行正常
var<br> username:array[0..30] fo char;<br> size:word;<br>begin<br> size:=sizeof(username);<br> fillchar(username,size,''); 復位<br> getusername(username,size);<br>end;<br>以上代碼在winNT和win9x 中運行正常
F fineboy Unregistered / Unconfirmed GUEST, unregistred user! 2001-06-10 #11 P开头的变量是指针,<br>PByte=^Byte;<br>Pchar是Windows的C函数的数据类型。要动态分配内存,并手工释放。<br>《 Delphi5开发人员指南〉中有例子。<br>可看看MIcroSoft的Win32API开发人员参考手册 第一辑。
P开头的变量是指针,<br>PByte=^Byte;<br>Pchar是Windows的C函数的数据类型。要动态分配内存,并手工释放。<br>《 Delphi5开发人员指南〉中有例子。<br>可看看MIcroSoft的Win32API开发人员参考手册 第一辑。
Y yz Unregistered / Unconfirmed GUEST, unregistred user! 2001-06-21 #12 who有MicroSoft的Win32API开发人员参考手册 第一辑?