首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于静态变量的简单有关问题,有点想不通

2012-02-08 
关于静态变量的简单问题,有点想不通在.Net中养成的习惯,定义常量加类型;在Dephi中,写了一个Library--Arsen

关于静态变量的简单问题,有点想不通
在.Net中养成的习惯,定义常量加类型;在Dephi中,写了一个Library--ArsenalLibrary,现在在Form中调用:

Const DLLName='ArsenalLibrary.dll'; //可以通过
//Const DLLName:PChar='ArsenalLibrary.dll'; //不可以通过
//Const DLLName:String='ArsenalLibrary.dll';//不可以通过

Const CAPTAINNAME:PChar='Arsenal'; //可以通过
Const AGE:Integer=32; //可以通过

function GetDTMF(iStart:Integer):Integer;stdcall;External DLLName;


implementation


procedure TForm1.btnCaulClick(Sender: TObject);
var iIndex:Integer;
begin
  iIndex:=10;
  ShowMessage(IntToStr(GetDTMF(iIndex));
  ShowMessage(IntToStr(AGE)+CAPTAINNAME);
end;

为DLLName这个静态常量调用时,就不能加类型呢?

[解决办法]
如果你用C++,请注意const及#defind的区别
delphi的const有两种意义,一种相当于c++中的#define:
Const DLLName='ArsenalLibrary.dll'; //没有类型
另一种相当于C++的const,
Const CAPTAINNAME:PChar='Arsenal'; //有类型

External 后面要求的是真正的常量,所以只能用第一种方式(语法上规定的)
[解决办法]
楼上说的很清楚,我也是来学习的
[解决办法]
1楼回答很完美..
[解决办法]
我记得const定义的常量是不需要类型的

热点排行