我有,我有一個返回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