DLL的问题,急!!!(100分)

  • 主题发起人 主题发起人 yuanzichuan
  • 开始时间 开始时间
Y

yuanzichuan

Unregistered / Unconfirmed
GUEST, unregistred user!
DLL中:
TDllReportInfo = record
RepName: PChar;
TypeID: PChar;
FunName: PChar;
FrfName: PChar;
LoadType: PChar;
Describe: PChar;
end;
PRepInfo = ^TRepInfo;
TRepInfo=array of TDllReportInfo;

procedure FoldRepInfo(RepInfo: PRepInfo);stdcall;
begin
SetLength(RepInfo^,1);
RepInfo^[0].RepName:='每日结算报表';
RepInfo^[0].TypeID:='01';
RepInfo^[0].FunName:='NewJiesRpt';
RepInfo^[0].FrfName:='每日结算报表.frf';
RepInfo^[0].LoadType:='0';
RepInfo^[0].Describe:='';
end;

主程序中:
。。。
TFoldRepInfo = procedure(RepInfo: PRepInfo);stdcall;
。。。
FoldRepInfo := TFoldRepInfo(FPointer);
FoldRepInfo(@RepInfo1);
我的目的是在DLL中给我主程序中的数组增加数据(也就是我把数组的指针传到了DLL中),
为什么会出现指针错误呢?哪位高手能指教,不盛感激!
 
DLL和主程序不在同一地址空间,所以不能直接传指针,
你直接传数组试试,
或用动态包
 
请结束或提前您的帖子,谢谢合作!
 
接受答案了.
 
后退
顶部