Initialization dan finalization

Unit juga dapat berisi bagian initialization (inisialisasi) dan finalization (penutupan).

Dua potongan kode ini akan dijalankan secara otomatis saat program mulai berjalan dan saat program keluar masing-masing.

initialization: Dijalankan ketika program dibuka dan unit dimuat ke memori, sebelum kode program utama. Jika ada beberapa unit, bagian initialization masing-masing akan berjalan berurutan sesuai urutan referensi.

finalization: Dijalankan tepat sebelum program ditutup normal dan proses dihapus; urutan eksekusinya berkebalikan dengan initialization.

Kegunaan

Initialization: Mendaftarkan kelas, membuka file global / koneksi basis data, menginisialisasi variabel global, mendaftarkan komponen;

Finalization: Melepaskan memori, menutup handle, menyimpan konfigurasi, membatalkan pendaftaran sumber daya agar tidak terjadi kebocoran memori.

Kita akan mengubah file unit PAS dari pelajaran sebelumnya: MyUnit.pas

unit MyUnit;

{$ifdef FPC}
{$mode objfpc}{$H+}{$J-}
{$endif}

interface

procedure MyProcedure(const A: Integer);
function MyFunction(const S: string): string;

implementation

procedure MyProcedure(const A: Integer);
begin
  WriteLn('A + 10 is: ', A + 10);
end;

function MyFunction(const S: string): string;
begin
  Result := S + 'strings are automatically managed';
end;

// Bagian inisialisasi: Berjalan otomatis saat program memuat unit ini
initialization
  WriteLn('Hello world!');

// Bagian penutupan: Berjalan otomatis sebelum program keluar normal
finalization
  WriteLn('Goodbye world!');

end.Code language: JavaScript (javascript)

Hanya dua bagian di atas yang ditambahkan di bagian bawah file

Hasil eksekusi

Tulisan terakhir Goodbye world baru akan muncul setelah kamu menekan tombol Enter (saat program akan berhenti).

Initialization dan finalization

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *