自定义的一个结构TChatData
再定义一个此结构的数组SendGroupMessage : array of TChatData;
传递参数的时候我用的是地址@SendGroupMessage
给另一个赋值的时候tempMessage : array of TChatData;
怎么处理?
tempMessage := value^;???
再定义一个此结构的数组SendGroupMessage : array of TChatData;
传递参数的时候我用的是地址@SendGroupMessage
给另一个赋值的时候tempMessage : array of TChatData;
怎么处理?
tempMessage := value^;???
解决方案 »
- image控件怎样将改扩展名后的图片文件装入?
- 已知窗体控件的句柄,请问怎样将一个字符串插入到那个控件光标所在的位置!!
- 关于MDI窗口的问题,急,急!
- treeview各节点是通过打开数据库后显示,如何使treeview刷新?
- '=' 附近有语法错误。.
- 怎么样才能控制 form1.stringgrid1所录入的数据不重复,具体如下
- 怎样设置ComboBox为只读?
- 100分求加密的算法,最好是通過讀取移動硬碟的ID號來加密的算法,
- 什么是polya定理?哪位高手为我解忧?
- 100分:怎样用进度条显示Timage调入图片的过程
- 求助:向各位大哥请教几个 TstringGrid 问题,谢谢!
- 散分
TChatDataArray=array of TChatData;var
SendGroupMessage:TChatDataArray;
tempMessage:TChatDataArray;
begin
tempMessage:=SendGroupMessage;
end;
开玩笑嘛,我的题目真写的有问题,没看懂?tempMessage := value^;???
value 是一个TChatData结构的数组的地址,
如何赋给一个TChatData结构的数组
TChatData = record
end; PChatDataAry = ^TChatDataAry;
TChatDataAry = array of TChatData;
var
SendGroupMessage: TChatDataAry;
...
var
TempMessage: PChatDataAry;
begin
TempMessage := @SendGroupMessage;
end;没测试,不知道是否可以
TChatData = record
sData : String;
end;
TChatMessage = array of TChatData;procedure ProcessMessage(AMessage: TChatMessage);
var
tmpMessage : TChatMessage;
iCount : Integer;
iLoop : Integer;
begin
iCount := High(AMessage);
SetLength(tmpMessage, iCount + 1);
for iLoop := 0 to iCount do tmpMessage[iLoop] := AMessage[iLoop];
tmpMessage[0].sData := 'XXX';
tmpMessage[1].sData := 'YYY';
end;procedure TForm1.Button1Click(Sender: TObject);
var
SendGroupMessage : TChatMessage;
begin
SetLength(SendGroupMessage, 2);
SendGroupMessage[0].sData := '111';
SendGroupMessage[1].sData := '222';
ProcessMessage(SendGroupMessage);
ShowMessage(SendGroupMessage[0].sData);
ShowMessage(SendGroupMessage[1].sData);
end;
var
tmpMessage : TChatMessage;
begin
tmpMessage := AMessage;
tmpMessage[0].sData := 'XXX';
tmpMessage[1].sData := 'YYY';
end;tmpMessage实际上就是SendGroypMessage, 而不是它的副本, 因此函数返回后, SendGroupMessage的内容被改变了。