我有,我有一个返回PChar类型的函数DLL返回PChar类型。 (为避免使用borlndmm)我在做什么,原本是铸造一个字符串作为PChar类型并返回一个在Delphi中我的DLL我必须分配功能
Result := pChar(SomeFuncThatReturnsString)
但我得到预期的结果90%的时间,其他时间我会回来没有。
然后我开始思考我需要为pchar分配内存,并且这样做我的原始方式是使用pchar指向内存,但当函数最初被调用时并不总是那样。所以,我现在有这个
Result := StrAlloc(128);
Strcopy(Result,PAnsiChar(Hash(Hash(Code,1,128),2,128)));
但是,这给我留下了不得不清理的节目结束我与
StrDispose(Pstr);
做分配的内存,以使$ 64个问题是:我一定要分配从DLL里的函数返回一个PChar时的内存,还是我可以将它转换为PChar?
这一块,对不对? http://edn.embarcadero.com/article/33416 – 2010-11-24 23:39:44
是的,“ShareMemoryManager”部分。而且,我的错误,新的内存管理器可从2006年开始德尔福,而非2007年。 – 2010-11-25 13:54:43