getusername函数在DELPHI5中调用正常,为什么在DELPHI6和DELPHI7中调用结果却显示乱码?(20分)

  • 主题发起人 主题发起人 fwcy
  • 开始时间 开始时间
F

fwcy

Unregistered / Unconfirmed
GUEST, unregistred user!
本人在DELPHI5中调用函数getusername,在EDIT1中显示登录网络的用户名,一切正常!程序如下。
但在DELPHI6和DELPHI7中调用就显示乱码。请大家参与该怎么处理?
procedure Tform1.FormShow(Sender: TObject);
var
user:string;
tmpuser:pchar;
size:dword;
begin
size:=20;
getusername(tmpuser,size);
user:=tmpuser;
edit1.Text:=user;
end;
 
我这里英文用户名没发现乱码,不过你的tmpuser好象没有分配空间。
 
procedure TForm1.Button1Click(Sender: TObject);
var
CNameBuffer:PChar;
fl_loaded:Boolean;
CLen:^DWord;
begin
GetMem(CNameBuffer,255);
New(CLen);
CLen^:= 255;
fl_loaded := getusername(CNameBuffer,CLen^);
if fl_loaded then edit1.Text := StrPas(CNameBuffer)
else edit1.Text := 'Unkown';
FreeMem(CNameBuffer,255);
Dispose(CLen);
end;
 
谢谢dxpjj.按您的方法已解决!
谢谢0000鬼0000的参与!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部