procedure TForm1.btn1Click(Sender: TObject);
var s:TStrings;
t : String;
begin
t:='wer';
s.Clear;
s.Add(t);
s.Text; //执行后text仍为空
end;
var s:TStrings;
t : String;
begin
t:='wer';
s.Clear;
s.Add(t);
s.Text; //执行后text仍为空
end;
解决方案 »
- Undeclared identifier: 'SDateMinLimit'
- query如何返回光标所在行的记录号?
- 操作内存引出的问题~~求解!请高手指教~!
- 【delphi中利用ClientDataSet和ADOQuery分别如何调用oracle中的存储过程-400分相送】
- 想学basm,有什么资料可以借鉴?
- 循环中的问题
- 如何动态地获得一个组件的属性、方法并调用?
- 关于控件
- 好急,我编的程序达到750多行,后面的命令,编译器突然很多无法识别。不知何故。
- 高手帮忙把C#代码转成delphi 的,感谢
- 谁用过Delphi写程序控制“AutoCAD”????? 有没有直接点的资料? UP者大大的有分啊!!!因为我准备了最坏的打算(找不到答案)
- 再问:一个程序结束,如何告诉另一个程序?
var s:TStrings;
t : String;
begin
s := TStringList.Create;
t:='wer';
s.Clear;
s.Add(t);
s.Text; //执行后text仍为空
end;
你没有实例化s ,如上解决
s := TStringList.Create;
TStringList 是要用户手动创建的,var
s:TStrings;
s 为地址指针,
s := TStringList.Create;创建后,你才可以调用方法 Add
当s 没有创建,这个指针s + 方法add的位移量得到的地址肯定是不是方法Add的物理地址(Add方法在内存中还不存在呢),也就产生的经典地址读错误
不过不要忘记在不用的时候把它free了。
var s:TStrings;
t : String;
begin
s := TStringList.Create;
t:='wer';
s.Clear;
s.Add(t);
end;
关闭的时候要:
s.free;
var s:TStrings;
t : String;
begin
try
s := TStringList.Create;
t:='wer';
s.Clear;
s.Add(t);
finally
s.free;
end;
end;