关于DELPHI中调用API的问题! const max_computername_length=15;定义到外面,试试 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 procedure TForm1.Button1Click(Sender: TObject);var Buf:String[20]; size:Cardinal;begin size := 19 ; GetComputerNameA(@buf[1],size); Caption := buf;end; 看下面的代码:var pCn: PAnsiChar; dwSize: DWORD; b: Boolean;const MAX_LENGTH = 15;begin dwSize:=MAX_LENGTH+1; Getmem(pCn, dwSize); if GetComputerNameA(pCn, dwSize) then Caption:=StrPas(pCn); Freemem(pCn);你的程序出错,因为PAnsiChar仅是一个指针类型,程序并未分配内存给它所有你必须为该指针手工分配内存,然后才可以调用Api将内容填充到他所指向的缓冲! WINDOWS XP系统的"ADO"程序被误删了,如何恢复啊?谢谢! 如何让公用窗口显示? 如何使用Array? 关于图标问题? SQL的问题! 高手快进!-急!!!! 如何禁止DBGrid自动提交POST? 如何在Delphi启动网络连接 在線等 怎樣指定Textfile文本文件的指定行 为什么我做的toolbar这么难看! 高分征求Dream infogrid等的解压口令 怎样创建和读写配置文件?
var Buf:String[20];
size:Cardinal;
begin
size := 19 ;
GetComputerNameA(@buf[1],size);
Caption := buf;
end;
var
pCn: PAnsiChar;
dwSize: DWORD;
b: Boolean;
const
MAX_LENGTH = 15;
begin
dwSize:=MAX_LENGTH+1;
Getmem(pCn, dwSize);
if GetComputerNameA(pCn, dwSize) then Caption:=StrPas(pCn);
Freemem(pCn);你的程序出错,因为PAnsiChar仅是一个指针类型,程序并未分配内存给它
所有你必须为该指针手工分配内存,然后才可以调用Api将内容填充到他所指向
的缓冲!