我在主线程中定义了一个结构体,用来存取和提取全局数据
type
no_Struct = record
ID: integer;
Size: word;
end; sBuffer = record
buf: array [0..100] of no_Struct
num: integer; //这个是包含no_struct的总数
end;
var
testBuff: sBuffer;
主线程和子线程中都可以直接读取和写入,也可以有效更改num的值。
但是,我做了一个含数来处理它的时候,却不可以有效更改了,该函数如下:
function isrtData(QBuff: sBuffer; Qdata: no_Struct): boolean;
begin
if QBuff.num < 100 then
begin
QBuff.buf[QBuff.num]:=Qdata;
QBuff.num:=QBuff.num + 1;
result:=true;
end
else
begin
result:=false;
end;
end;请大侠们指点一下,这是为什么呀?
type
no_Struct = record
ID: integer;
Size: word;
end; sBuffer = record
buf: array [0..100] of no_Struct
num: integer; //这个是包含no_struct的总数
end;
var
testBuff: sBuffer;
主线程和子线程中都可以直接读取和写入,也可以有效更改num的值。
但是,我做了一个含数来处理它的时候,却不可以有效更改了,该函数如下:
function isrtData(QBuff: sBuffer; Qdata: no_Struct): boolean;
begin
if QBuff.num < 100 then
begin
QBuff.buf[QBuff.num]:=Qdata;
QBuff.num:=QBuff.num + 1;
result:=true;
end
else
begin
result:=false;
end;
end;请大侠们指点一下,这是为什么呀?
解决方案 »
- 怎样控制delphi messagebox的显示位置
- 高人指点——如何调用驱动程序(.ll)--在线等啊。
- 近来遇到三个烦人的问题,高手进来看看,支持一下(不是高手不要顶,这些问题我已经问过N遍了,始终得不到解决)
- 怎样在用DELPHI做的应用程序中添加功能模块.bpl!加急!!!!!!!!
- 我用Delphi6+ADO+SQLServer做进销存软件,数据如何分布呢?
- TNMHTTP控件的一些问题
- 字符转换日期??急用
- 文件密码的问题,不知道难不难,请朋友们看看!
- 我用DBExpress控件SQLDataSet打开一下复杂的查询时,提示BCD OverFlow,是什么原因?
- 我在delphi6 + indy8的环境下写的程序为什么在任务管理器中显示的线程数一直在增加??
- 多线程程序 卡的问题
- 如何设定调用的可执行文件的窗体位置,在线等待~~~
begin
if QBuff.num < 100 then
begin
QBuff.buf[QBuff.num]:=Qdata;
QBuff.num:=QBuff.num + 1;
result:=true;
end
else
begin
result:=false;
end;
end; 把Qdata做为变参,相当与C的引用参数。