TStrings是一个抽象对象,永远不能被实例话,所以当然不会出警告了。
要么换成TStringList试试。
要么换成TStringList试试。
解决方案 »
- delphi 调用DLL
- DBGrid的数据源DataSource在设成DataSource1后如何在DataSource1.DataSet从数据库获取数据后获取每个字段内容
- 如何用循环语句把ADOQUERY查询到的某列数据一条一条赋值给LIST。
- shelltreeview控制同步!
- 寻求熟悉 胜天进销存 ,有薪改源码!千元以上
- 我在IWForm上放置两个IWEdit1和IWEdit2,怎样在IWEdit1的回车事件中,把光标移动到IWEdit2中?
- 急需分享大家的需求分析文档和开发文档!
- ADO+Parodx 的愚蠢错误,有经验的人一下子就可以挣100分。
- 寻软件高手!现有一IP地址和网页、搜索栏关键词拦截程序需要编写,付酬!!!
- 请问一下,这个两个关键字是什么意思(stdcall,published)?
- 怎么写程序使一个字符串与另一个字符串的前几位相同?
- 快点,请大家回答
a:TStrings;
begin
a:=TStringList.Create;
end
2. 用一个可实例化的(非抽象的)TStrings的子类创建实例,如TStringList: Strings1 := TStringList.Create;
这种方法虽然初始化了,但是因为它指向一个空地址,所以不能使用这个实例;
2. 用一个可实例化的(非抽象的)TStrings的子类创建实例,如TStringList: Strings1 := TStringList.Create;
这种方法才是真正创建了一个可用的实例!
等你明白了面向对象的方法后,不用人提醒,你都会自觉使用TStrings的。
就如
var
a: TForm;
b: TForm1;
begin
b := TForm1.Create(nil);
a := b; // 赋值成立
b := a; // 赋值不成立,编译器报错
你慢慢体会吧。
你的这个问题是继承方面的问题。我总感觉面向对象不是一下就能学会的,我大三接触C++时,认为C++没什么,用C都能做。到大四才意识到面向对象的重要性了,而对多态的领悟则是工作后两年。所以我觉得这是一个比较漫长的过程,况且我即使说,也不会说全的,有些东西没有碰见特定的情况,根本就蹦不出来(你有这种体会吗?)。
a:TStrings;
begin
a:=TStringList.Create;
end