子线程不能共享使用主线程的动态数组变量吗? 在主线程定义了动态数组变量
如下所示: Type TArrayType: array of string;
主窗体中 A1:TArrayType; 子线程:
A1:TArrayType;
setlength(A1,length(A1)+1); A1[0]:='aaaa';
主窗口调用子线程
var
s: string;
DataThread: TClientDataThread;
begin
// create thread
DataThread:= TClientDataThread.Create(true);
DataThread.A1:=A1; DataThread.resume; 子线程执行后,发现主窗体中的动态数组变量长度还是0,如何共享呢?
如下所示: Type TArrayType: array of string;
主窗体中 A1:TArrayType; 子线程:
A1:TArrayType;
setlength(A1,length(A1)+1); A1[0]:='aaaa';
主窗口调用子线程
var
s: string;
DataThread: TClientDataThread;
begin
// create thread
DataThread:= TClientDataThread.Create(true);
DataThread.A1:=A1; DataThread.resume; 子线程执行后,发现主窗体中的动态数组变量长度还是0,如何共享呢?
解决方案 »
- 如何对TXT文件进行读写阿!!!
- DELPHI 8里面新加的那个“命名空间”有什么用啊~~怎么看着那么乱啊。。。
- 简单问题..求高手解答...
- 怎么能知道当前数组的长度?(内空)(在线等!)
- 请问在同一个程序里建立和连接多个数据库会不会带来什么问题?
- 三层中,我在客户端直接传递的SQL语句,应用段报错,点解?
- fastreport学习
- Socket传文件问题.刚学delphi 求高手指点
- 请问,delphi如何调用sybase的ct_library,应包含那些头文件
- 没什么好书买,大家帮忙推荐一下吧。
- 千分散尽求解析,delphi SOCKET通信发送带包头的XML文件,曾问100人无果
- Delphi7 自带的TCP通信例子,修改一下就出错,不知为何?
动态数组在同一线程赋值时,是把地址赋值,而在不同线程赋值时,就是重新复制了整个数据,从而有利两个不相关的动态数组 看来只能传指针了。发现指针还是可以保持同一变量
---------
不定义怎么赋值呢? 要不就要把主窗体名传递个子线程来