Mahyaa
پنج شنبه 30 شهریور 1385, 13:23 عصر
سلام
من از یک function در یک DLL استفاده میکم که این فانکشن یک TMemoryStream برمیگردونه !
به سورس dll دسترسی ندارم تا بتونم فانکشن رو اصلاح کنم .
در مورد سورس فانکشن DLL این رو میدونم که یک MemoryStream در ابتدای فانکشن Create شده و Free نشده تا به عنوان مقدار بازگشتی به بیرون Pass بشه !!
function GetResultStr : TMemoryStream;
begin
سوال من اینه که
برای Create و Free کردن MemoryStream در برنامه چکار باید بکنم ؟
آیا باید این کار رو بکنم :
var
MyStream : TMemoryStream ;
begin
MyStream := GetResultStr;
//... The rest of cod.
//free the created str in dll
MyStream.Free;
end;
یا اینکه اینطوری :
var
MyStream : TMemoryStream ;
begin
//First Create the str
MyStream := TMemoryStream.Create ;
MyStream := GetResultStr;
//... The rest of cod.
//free the created str in dll
MyStream.Free;
end;
ممنون از توجهتون . ببخشید که سوالم طولانی شد :)
من از یک function در یک DLL استفاده میکم که این فانکشن یک TMemoryStream برمیگردونه !
به سورس dll دسترسی ندارم تا بتونم فانکشن رو اصلاح کنم .
در مورد سورس فانکشن DLL این رو میدونم که یک MemoryStream در ابتدای فانکشن Create شده و Free نشده تا به عنوان مقدار بازگشتی به بیرون Pass بشه !!
function GetResultStr : TMemoryStream;
begin
سوال من اینه که
برای Create و Free کردن MemoryStream در برنامه چکار باید بکنم ؟
آیا باید این کار رو بکنم :
var
MyStream : TMemoryStream ;
begin
MyStream := GetResultStr;
//... The rest of cod.
//free the created str in dll
MyStream.Free;
end;
یا اینکه اینطوری :
var
MyStream : TMemoryStream ;
begin
//First Create the str
MyStream := TMemoryStream.Create ;
MyStream := GetResultStr;
//... The rest of cod.
//free the created str in dll
MyStream.Free;
end;
ممنون از توجهتون . ببخشید که سوالم طولانی شد :)