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/ 


Kirim email ke