saya langsung ke source code saja yaaaaa.....
+++++ On Tuesday 14 January 2003 13:09, ariefn wrote:
: Halo Delphindo,
: Saya punya permasalahan begini:
:
: function GetList:TString; {function bertipe class}
//mustinya TStrings
//function GetList:TStrings; {function bertipe class}
: begin
: ....
: SL:TStringList.Create;
// sedikit saran
// Result:= TStringList.Create;
: try
: ...
: finally
: Result:=SL;
: SL.Free; {Sudah di-free disini}
//SL.Free ini jangan dilakukan disini
// tapi dilakukan di rutin pemanggil
: end;
: end;
:
: procedure UseTheList;
: begin
: MySL:=TStringList.Create;
: MySL.Assign(GetList); {Ini akan run time error}
// jelas error, wong di getList sudah di free
// anda disini cuman dapet mangkok kosong tanpa bakmi... :)
// anda hanya dapet var referrence, tanpa isi, karena sdh di free
: MySL.Free;
: end;
:
supaya enggak binun, ini bentuk akhir program anda :
function GetList:TStrings;
begin
....
Result:= TStringList.Create;
try
...
finally
// ringkas tanpa variable assignment lagi
end;
end;
procedure UseTheList;
var MySL: TStrings;
begin
MySL:= GetList;
//process.........
MySL.Free;
end;
: Pada proc. UseTheList,
: MySL.Assign(GetList) akan gagal dijalankan karena SL sudah di-free pada
: function GetList.
:
: Bagaimana mengatasi hal ini.
:
: (Note : Saya tidak ingin mendeklarasikan var Global pada unit ini, misalnya
: MySL dijadikan var Global)
:
: Adakah cara/trik mengatasi hal ini ?
:
: TIA.
--
:duik :))
------------------------ Yahoo! Groups Sponsor ---------------------~-->
Turn flat surfaces into speakers with the Soundbug.
http://us.click.yahoo.com/QWAVSC/onCFAA/xGHJAA/i7folB/TM
---------------------------------------------------------------------~->
Berlangganan: [EMAIL PROTECTED]
Stop Berlangganan: [EMAIL PROTECTED]
Keluhan Milis(Unbouncing,spam,dll): [EMAIL PROTECTED]
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/