DLL中能不能不用ShareMem单元?
Jimy 2000-01-28 04:17:00 问题问得真过瘾,再问一个:
首先我要exports这样一个函数
Function abc: PChar;
所以我要在DLL中分配内存
Function abc: PChar;
Begin
result:=StrAlloc(xxx);
....对result赋值
End;
接下来在主程序中引用Function abc
ShowMessage(abc);
If StrBufferSize(abc)>0 Then StrDispose(abc);
运行程序会提示"无效指针操作"
在DLL和Application中同时加入ShareMem后一切正常。
请问我怎么才不需要ShareMem单元?
另外一个问题
我在DLL中声明
Type
MyDynArray=Array of PChar;
Procedure efg(Out a: MyDynArray);//或者Var a: MyDynArray
在efg中分配内存,然后传出
在主程序中使用a,并且释放其内存。除了与上面同样的问题外,
还想问一下,在Visual C++ 中是如何引用Delphi如MyDynArray类型
的动态数组的?