感觉好离奇,在D2009运行后,结果是Hello World
{问题:该如何解决呢?}
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject); private { Private declarations }
public { Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}function GetComputerNameX: String ;
var
i: Cardinal;
cBuff: PChar;
begin
GetMem(cBuff, 128);
i := 128;
GetComputerName(cBuff, i);
Result := StrPas(cBuff);
end;procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text := GetComputerNameX;
end;end.
{问题:该如何解决呢?}
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject); private { Private declarations }
public { Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}function GetComputerNameX: String ;
var
i: Cardinal;
cBuff: PChar;
begin
GetMem(cBuff, 128);
i := 128;
GetComputerName(cBuff, i);
Result := StrPas(cBuff);
end;procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text := GetComputerNameX;
end;end.
解决方案 »
- 如下图,这个控件如何实现???????????????????????????????????????????????????????????????????
- 看似简单,其实不简单的问题,也许对你来说很容易
- DBGridEh的计算字段问题
- 如何做一个象QQ的网络寻呼机呢?
- 短消息相关文档大总结
- 春节快乐!本人一无才、二无财、只好用http://www.japanpig.com/bu.htm这材,向大家问好了!
- 100分!!!为什么我的Delphi中的Hint会不出现???有时候Form上的Hint会出现,但是组件面板中的Hint却都不出现了???
- 如何将Str转换成Char?
- 请教一个关于 两张图片 叠加时亮度 调节的问题,谢谢(没分了,不好意思,帮帮忙吧)
- 经典文章:我的回忆和一些不大有趣的故事(转载)
- 截取字符问题
- 疑问,求简化代码
程序和你写的一样,或者说是拷贝你的程序
var
i: Cardinal;
cBuff: PChar;
begin
GetMem(cBuff, 128);
i := 128;
GetComputerName(cBuff, i);
Result := StrPas(cBuff);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text := GetComputerNameX;end;
var
i: Cardinal;
cBuff: PChar;
begin
GetMem(cBuff, 128);
ZeroMemory(cBuff, 128); //清空内存
i := 128;
win32check(GetComputerName(cBuff, i)); //使用win32check来检查GetComputerName是否正常执行. 其实这个i返回值也是有意义的
Result := StrPas(cBuff);
end;
{谢谢哥们,我用的是XP-SP3的系统,修改后还是没有返回真正的机器名.}
{南果梨,你也是D2009的IDE吗,不是吧,你可以得到正确的到计算机名?}
CodeGear™ Delphi® 2009 Version 12.0.3300.19037 Copyright © 2008 Embarcadero Technologies, Inc. All Rights Reserved.
D2009,XP SP2运行结果正确
这个问题应该跟系统没有关系,更何况是SP2 SP3