關於undeclared identifier: 'self' procedure checkitem(user:string);varAds_Sel:TADODATASET;beginads_sel := TADODATASET.Create(nil);//.............end; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因為這是一個過程,不是類(class)的方法.所以沒有self zswang(伴水)(伤心中):謝謝你! Self是指所编的程序范围是在哪一个类中,Delphi中大都在窗体范围内编程,因此,self即指窗体,如果在编写一个类或是一个组件,则self指该类或组件。我们在函数或过程的声明中可看出self是代表哪个组件,即self代表‘.’号之前的组件,如在第一个例子中,self代表Tform1。另外应注意,self只能用在类方法中,而不能用在过程或函数中.解决办法:1.ads_sel := TADODATASET.Create(nil); 2.降过程改为procedure Tform1.checkitem(user:string); Self是指向类实例的指针procedure checkitem(user:string); //这是普通的函数(过程也可以叫函数)procedure TForm1.checkitem(user:string); //这是类的函数(属于TForm) lizhenjia(暴雪)解释的很清楚啊 Demo.1ads_sel := TADODATASET.Create(nil);try { 操作ads_sel }finally ads_sel.Free; //要自己Freeend;Demo.2ads_sel := TADODATASET.Create(Application);{ 操作ads_sel }{ 不自己Free }当Application.Free是就要自动执行ads_sel.Free 窗体的小问题? 菜鸟问题:在过程中写edit1.text:=''出错,说Edit1未定义。 大家来看看这段代码为码会出错?--------怪事!!!!! 一个ADO动态查询问题. 不知道的封装类型??? 高手请进→如何得到文件或者目录的属性? 我想在form的click事件里触发一个button的click事件,参数该怎样写呢? 自定义函数必须要一个返回值吗? 需要帮助!!!!谢谢了!!! delphi 5在windows2000 server下不能用 在线呼叫cobi(我是小新),快点出来帮帮我吧!! 谁有中文版的winapi,给我寄一份哦!有分送哦!
謝謝你!
解决办法:1.ads_sel := TADODATASET.Create(nil);
2.降过程改为procedure Tform1.checkitem(user:string);
procedure checkitem(user:string); //这是普通的函数(过程也可以叫函数)
procedure TForm1.checkitem(user:string); //这是类的函数(属于TForm)
try
{ 操作ads_sel }
finally
ads_sel.Free; //要自己Free
end;Demo.2
ads_sel := TADODATASET.Create(Application);
{ 操作ads_sel }
{ 不自己Free }当Application.Free是就要自动执行ads_sel.Free