我写了一个函数:
function Tzyh_class.get_dept_name_Tstringlist(sender : TObject) : Tstrings ;
var
deptname : Tstrings;
begin
deptname := TStringlist.Create;
deptname.Add('123');
deptname.Add('456');
deptname.Add('789');
deptname.Add('876');
result := deptname;
ShowMessage(result.Text); (在这个地方能够正常显示)
deptname.Free;
end;
然后在另外的unit 中调用这个函数;ShowMessage(zyh_class.get_dept_name_Tstringlist(sender).Text);
在这里显示时出错,系统提示访问冲突,然后我无论使用全局变量还是局部变量进行传递数据,都无法解决问题。请问如何在不同的unit之间传递Tstrings型数据。
function Tzyh_class.get_dept_name_Tstringlist(sender : TObject) : Tstrings ;
var
deptname : Tstrings;
begin
deptname := TStringlist.Create;
deptname.Add('123');
deptname.Add('456');
deptname.Add('789');
deptname.Add('876');
result := deptname;
ShowMessage(result.Text); (在这个地方能够正常显示)
deptname.Free;
end;
然后在另外的unit 中调用这个函数;ShowMessage(zyh_class.get_dept_name_Tstringlist(sender).Text);
在这里显示时出错,系统提示访问冲突,然后我无论使用全局变量还是局部变量进行传递数据,都无法解决问题。请问如何在不同的unit之间传递Tstrings型数据。
解决方案 »
- 同样是dbgrideh的问题,删除记录的问题
- 初学,在两个地方申明的变量有什么不同呢??
- 關閉窗口會報錯,誰能知道怎麽回事?
- POS打印机的打印的问题,打印出来的字体怎么那么丑?????如何解决?
- ***请教怎样用SPCOMM 给串口设备发送 ‘00MZ’+CHR(13)+CHR(10) ,具体代码怎么实现?
- 有一个pagecontor 控件,请问怎样给不同的页设置不同的颜色?
- 散分
- 各位高手请教一个关于画皮肤的问题?
- 求控件--TeeChart 和 Skin Engine for D6
- 请人开发一款邮件管理、群发软件
- 一年前的这个时候第一次接触DELPHI,一年后的今天发布一个新软件,请大家帮助测试!谢谢~~~新年快乐!!!^_^
- 2000下屏蔽Ctrl+Alt+Del,高分相送,解决立即给分
type
TForm2 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
function get_dept_name_Tstringlist(sender : TObject) : Tstrings ;
end;var
Form2: TForm2;implementationfunction TForm2.get_dept_name_Tstringlist(sender : TObject) : Tstrings ;
var
deptname : Tstrings;
begin
deptname := TStringlist.Create;
deptname.Add('123');
deptname.Add('456');
deptname.Add('789');
deptname.Add('876');
result := deptname;
ShowMessage(result.Text);
deptname.Free;
end;{$R *.dfm}end.procedure TForm1.FormCreate(Sender: TObject);
begin
ShowMessage(Form2.get_dept_name_Tstringlist(sender).Text);end;
Form1是主窗体, 包含Form2,
注意函数是在Public内声明,
是吗?可是我根据你的程序进行运行的时候,在form1中是有显示,但是没有任何字符串,而且将Form2.get_dept_name_Tstringlist(sender)赋值给一个ComboBox1.Items时,调试出错,访问冲突。
form1中加入的代码如下:
procedure TForm1.FormCreate(Sender: TObject);
begin
ShowMessage(Form2.get_dept_name_Tstringlist(sender).Text);
ComboBox1.Items := Form2.get_dept_name_Tstringlist(sender);
end;
只要将form1中的 deptname.Free; 注释掉就可以了。
用assign深复制吧!!!!