Penjelasan rinci tentang kelas Tapplication di Delphi TApplication adalah jenis aplikasi Delphi. Kelas ini mewarisi dari TComponent dan dideklarasikan dalam unit Forms. Dan ada Aplikasi objek publik di Formulir. Metode dan propertinya mencakup operasi dan properti dasar yang ditetapkan seperti membuat, menjalankan, dan menghancurkan aplikasi di sistem operasi Windows, sehingga menyederhanakan antarmuka antara pengguna dan lingkungan Windows saat menulis aplikasi Windows di Delphi. Aplikasi TA merangkum empat fungsi berikut: 1. Pemrosesan pesan Windows. 2. Akselerasi menu dan pemrosesan keyboard. 3. Penanganan pengecualian. 4. Bantuan online kontekstual. Berikut ini akan memperkenalkan kepada Anda properti, metode, dan kejadian yang umum digunakan di TApplication. 1. Atribut 1. 1 atribut Atribut aktif Aktif menunjukkan apakah aplikasi aktif dan memiliki fokus. Definisinya adalah sebagai berikut: PRperty Active: Boolean; Active adalah properti read-only. Aktif bernilai True jika aplikasi aktif, False jika tidak. Konstruktor TApplica-tion menetapkan Aktif ke True. Jika suatu jendela atau aplikasi mempunyai fokus, maka aplikasi tersebut aktif. Aplikasi saat ini tidak aktif ketika jendela aplikasi lain aktif. Ketika aplikasi ditutup, destruktor TApplication menyetel Aktif ke False. Dalam aplikasi, Anda dapat menggunakan pengatur waktu (TTimer) untuk memeriksa nilai atribut Aktif untuk menentukan apakah aplikasi saat ini aktif sehingga dapat dilakukan pemrosesan yang sesuai. Operasi tertentu juga dapat ditentukan dalam kejadian OnActive dan kejadian OnDeactive. 1.2 Properti DialogHandle Properti DialogHandle menyediakan mekanisme bagi aplikasi Delphi untuk menggunakan kotak dialog non-Delphi. Definisinya adalah sebagai berikut: properti DialogHandle: HWnd; Saat menggunakan fungsi API CreateDialog untuk membuat kotak dialog non-modal, Anda perlu menggunakan DialogHandle, dan Anda perlu melihat pesan dalam loop pesan aplikasi untuk melakukan operasi terkait. Misalnya, ketika kotak dialog modeless menerima pesan aktivasi (WM_NCACTIVATE), pegangannya dapat ditetapkan ke DialogHandle, dan ketika kotak dialog menerima pesan penonaktifan, DialogHandle diatur ke 0. 1.3 Atribut ExeName Atribut ExeName berisi nama file aplikasi yang dapat dieksekusi dan informasi jalur. Hal ini didefinisikan sebagai berikut: properti ExeName: string; ExeName adalah properti read-only. Gunakan ExeName untuk mendapatkan nama file dari file aplikasi yang dapat dieksekusi. Ini adalah atribut yang sangat berguna. Misalnya, saat menjalankan aplikasi f:/media/myapp.exe di CD, Anda mungkin perlu mengakses file di direktori f:/media/data/ atau menentukan huruf drive tempat aplikasi tersebut berada. Saat ini, Anda dapat menggunakan fungsi ExtractFilePath dan ExtractFileName yang disediakan oleh Delphi untuk mengurai atribut ExeName untuk mendapatkan informasi yang diperlukan. 1.4 Atribut Handle Atribut Handle menyediakan akses ke handle jendela utama aplikasi. Definisinya adalah sebagai berikut: properti Handle: HWND; Properti Handle perlu digunakan ketika memanggil fungsi Windows API yang memerlukan pegangan jendela induk. Misalnya, pustaka tautan dinamis (DLL) dalam suatu aplikasi mungkin memerlukan pegangan jendela induk agar dapat muncul dan ditampilkan ke permukaan. Gunakan Application.Handle untuk membentuk beberapa jendela aplikasi, sehingga jendela tersebut dapat diminimalkan, dipulihkan, diaktifkan atau dinonaktifkan dalam aplikasi. Catatan: Saat menulis pustaka tautan dinamis yang menggunakan formulir VCL, pegangan jendela utama di program utama yang sedang berjalan harus ditetapkan ke properti Application.Handle dari pustaka tautan dinamis. Hal ini menjadikan bentuk perpustakaan tautan dinamis menjadi bagian dari aplikasi utama. Penting untuk diperhatikan bahwa Anda tidak boleh memberikan nilai pada Application.Handle dalam aplikasi EXE. 1.5 Atribut HelpFile Atribut HelpFile menentukan nama file yang digunakan oleh aplikasi untuk menampilkan konten bantuan. Definisinya adalah sebagai berikut: properti HelpFile: string; Menggunakan HelpFile adalah agar aplikasi memiliki file bantuan menggunakan sistem bantuan standar Windows. Windows menampilkan file Bantuan yang ditentukan oleh properti HelpFile. Agar aplikasi Anda dapat mencapai hal ini, Anda harus memberikan properti HelpFile nilai nama file pada waktu proses, atau menentukan file bantuan di halaman Aplikasi pada kotak dialog Project|Options pada waktu desain. Secara default, HelpFile adalah string kosong (''), dan metode bantuan aplikasi mengabaikan semua upaya untuk menampilkan bantuan. Jika HelpFile berisi konten apa pun, metode topik Bantuan akan memunculkan sistem Bantuan Windows untuk memberikan bantuan online berdasarkan nama file. Catatan: Jika file Bantuan jendela aktif ditentukan, file tersebut akan ditampilkan sebagai preferensi terhadap file Bantuan aplikasi. 1.6 Petunjuk Atribut Petunjuk Atribut menentukan string teks yang muncul di kotak Petunjuk Bantuan. Definisinya adalah sebagai berikut: properti Petunjuk: string; Properti TApplication.Hint adalah nilai Petunjuk dari item kontrol atau menu yang digerakkan oleh mouse. Atribut ini juga dapat diberi nilai string yang memberikan tindakan, kesalahan, atau informasi lainnya kepada pengguna. Oleh karena itu, menggunakan properti Petunjuk juga dapat: mentransfer informasi prompt dari kontrol ke area tampilan lain, misalnya, menampilkan prompt di bilah status melalui event handler OnHint. Saat ini, atribut Petunjuk dibaca. Jelaskan secara singkat keadaan aplikasi saat melakukan suatu tindakan. Saat ini, atribut Petunjuk telah disetel. Prompt bantuan muncul ketika peristiwa OnHint terjadi. Oleh karena itu, bahkan jika properti Petunjuk dari TApplication diberi judul bilah status, misalnya, judul kontrol bilah status menampilkan nilai string properti Petunjuk saat ini, itu harus dikaitkan dengan peristiwa OnHint. String petunjuk terdiri dari dua bagian: petunjuk pendek dan petunjuk panjang. Perintah singkat digunakan untuk perintah pop-up yang ringkas dan perintah pendek dipisahkan oleh bilah vertikal "|" dan digunakan untuk menampilkan informasi perintah yang lebih rinci di bilah status. Anda dapat menggunakan fungsi string GetShortHint dan GetLongHint yang disediakan di unit Kontrol untuk mendapatkan petunjuk singkat dan petunjuk panjang dari atribut Petunjuk. Catatan: Ketika aplikasi memberikan informasi kepada pengguna tentang terjadinya suatu peristiwa dengan mengatur properti Petunjuk, harus diingat bahwa secara default, ketika mouse bergerak di atas suatu kontrol, string Petunjuk diatur ulang ke nilai properti Petunjuk dari kontrol. 1.7 Properti HintHidePause Properti HintHidePause menentukan interval waktu sebelum prompt bantuan disembunyikan sebelum mouse dipindahkan dari kontrol atau item menu. Hal ini didefinisikan sebagai berikut: properti HintHidePause: Integer; Gunakan HintHidePause untuk menentukan waktu tunggu dalam milidetik Properti ini diatur ke 2500 milidetik (2,5 detik) dalam konstruktor TApplication. Tip bantuan untuk item kontrol atau menu ditentukan dalam properti Petunjuk. Catatan: Secara default, nilai HintHidePause harus ditentukan sebelumnya sebesar 3 hingga 5 kali nilai atribut HintPause. 1.8 Properti MainForm Properti MainForm secara unik mengidentifikasi formulir utama aplikasi. Hal ini didefinisikan sebagai berikut: properti MainForm: TForm; Bentuk yang ditentukan oleh properti MainForm belum tentu sama dengan jendela utama aplikasi. Nilai properti MainForm harus menjadi formulir pertama di antara semua formulir yang dibuat dengan metode CreateForm, namun formulir tersebut mungkin bukan jendela utama aplikasi. Saat membuat proyek baru, nilai atribut MainForm secara otomatis diatur ke Form1. Pada waktu desain, Anda dapat menentukan salah satu dari beberapa formulir sebagai MainForm melalui halaman Formulir di kotak dialog Project|Options. Properti MainForm tidak dapat diubah saat runtime karena properti bersifat read-only. Form utama merupakan form pertama yang dibuat berdasarkan tema aplikasi. Aplikasi berakhir ketika formulir utama ditutup. Dalam suatu aplikasi, Anda dapat memanggil metode Application.MainForm.Close untuk menghentikan aplikasi. Anda dapat memperoleh nilai properti seperti Application.MainForm.Top dan Application.MainForm.Left untuk menentukan posisi dan ukuran saat ini. jendela aktif. 1.9 Properti ShowMainForm Properti ShowMainForm menentukan apakah formulir utama akan ditampilkan saat aplikasi dimulai. Hal ini didefinisikan sebagai berikut: properti ShowMainForm: Boolean; Aplikasi menggunakan properti ShowMainForm untuk mengontrol apakah dan kapan menampilkan formulir utamanya. Konstruktor TApplication menyetel ShowMainForm ke True. Secara default formulir utama akan ditampilkan, seperti yang ditentukan dalam properti MainForm. Jika Anda perlu menyembunyikan formulir utama saat aplikasi dimulai, Anda harus mengatur ShowMainForm ke False sebelum memanggil Application.Run di file proyek utama, dan pastikan bahwa nilai properti Visible dari formulir utama adalah False. Ini berguna dalam banyak implementasi server otomasi OLE, seperti menyembunyikan bentuk utama program server saat memulai layanan otomasi. Selain itu, jika Anda perlu menampilkan gambar flash (Flash) saat aplikasi dimulai dan melakukan beberapa persiapan untuk lingkungan aplikasi, dan juga perlu menonaktifkan tampilan formulir utama, hal ini juga dapat dicapai dengan menggunakan atribut ShowMainForm. Misalnya, saat Delphi dijalankan, tampilan form utama dinonaktifkan. 1.10 Atribut Dihentikan Atribut Dihentikan melaporkan apakah program telah menerima pesan Windows WM_QUIT yang menghentikan program. Definisinya adalah sebagai berikut: properti Dihentikan: Boolean; Diakhiri adalah properti read-only. Properti ini terutama digunakan saat memanggil metode ProcessMessages sehingga aplikasi tidak harus berhenti mencoba memproses pesan Windows. Ketika metode ProcessMessages menerima pesan WM_QUIT, Dihentikan akan disetel ke True. Aplikasi Delphi selalu menerima pesan WM_QUIT karena form utama atau aplikasi ditutup, atau karena metode Terminate dipanggil. Ketika aplikasi melakukan operasi yang sangat intensif yang menghabiskan banyak sumber daya sistem, metode Application-on.ProcessMessages harus dipanggil secara berkala dan properti Application.Terminated harus diperiksa untuk menentukan apakah operasi perlu dihentikan untuk menghentikan aplikasi . 1.11 Properti UpdateFormatSettings Properti UpdateFormatSettings menentukan apakah aplikasi secara otomatis memperbarui pengaturan format ketika pengguna mengubah konfigurasi sistem. Didefinisikan sebagai berikut: properti UpdateFormatSettings: Boolean; Menggunakan aplikasi properti UpdateFormatSettings dapat mengontrol pembaruan otomatis pengaturan format. Konstruktor TApplication menyetel properti ini ke True. Properti UpdateFormatSett-ings akan diperiksa ketika aplikasi menerima pesan WM_WININICHANGE. Disarankan untuk menggunakan pengaturan format default, yang merupakan pengaturan lokal Windows. Anda dapat mengatur UpdateFormatSe-ttings ke False untuk menghindari perubahan pengaturan format selama eksekusi aplikasi Delphi. 1.12 Atribut UpdateMetricSettings Atribut UpdateMetricSettings menunjukkan apakah akan memperbarui pengaturan terkait seperti font jendela prompt dan judul ikon. Definisinya adalah sebagai berikut: properti UpdateMetricSettings: Boolean; Properti UpdateFormatSettings menunjukkan apakah perubahan dalam pengaturan seperti font jendela prompt dan judul ikon dalam sistem tercermin dalam perubahan dalam pengaturan terkait dalam aplikasi. Konstruktor TApplication menetapkan nilai awal UpdateMetricSettings ke True. 2. Metode 2.1 Metode BringToFront Metode BringToFront menyetel jendela aktif terbaru dalam aplikasi ke bagian depan semua jendela di desktop. Definisinya adalah sebagai berikut: prosedur BringToFront Gunakan metode BringToFront untuk menemukan jendela aktif terbaru milik formulir utama dan membawanya ke depan. Metode BringToFront juga dapat menguji dan melihat apakah suatu jendela terlihat (Visible) dan valid (Enabled) sebelum menjadi jendela paling depan. Misalnya, saat aplikasi menerima email, pengendali khusus mungkin perlu diaktifkan dan ditampilkan di bagian depan desktop Windows. Saat ini, Anda dapat memanggil metode Application.BringToFront untuk mencapai hal ini. 2.2 Metode CreateForm Metode CreateForm digunakan untuk membuat form (form) baru. Hal ini didefinisikan sebagai berikut: prosedur CreateForm (FormClass: TFormClass; var Referensi); aplikasi Delphi akan selalu memanggil metode CreateForm. Oleh karena itu, pemrogram jarang perlu memanggil metode CreateForm secara langsung. Proyek Delphi yang khas menyertakan satu atau lebih panggilan ke metode CreateForm di bagian kode utama proyek, dan secara otomatis mengontrol pembuatan formulir saat menggunakan perancang formulir. Anda juga dapat memanggil metode CreateForm saat runtime untuk membuat formulir secara dinamis. Metode CreateForm membuat formulir baru yang ditentukan berdasarkan parameter FormClass dan menetapkan formulir tersebut ke parameter variabel Referensi. Pemilik formulir yang baru dibuat adalah objek Aplikasi. Aplikasi akan default ke formulir pertama yang dibuat dengan memanggil CreateForm sebagai formulir utama proyek. 2.3 Metode HandleException Metode HandleException menyediakan pegangan default untuk pengecualian aplikasi. Hal ini didefinisikan sebagai berikut: procedure HandleException(Sender: TObject); Metode HandleException berguna untuk pembuat komponen tertentu karena dapat menghasilkan event yang tidak harus merespons pesan Windows. Anda dapat menggunakan pengendali kejadian OnException di aplikasi Anda untuk mengontrol operasi pengecualian lainnya dalam kode kustom. Dalam kode aplikasi, jika pengecualian melewatkan semua blok percobaan, aplikasi akan secara otomatis memanggil metode HandleE-xception dan akan menampilkan kotak dialog yang menunjukkan bahwa terjadi kesalahan. Kecuali objek pengecualiannya adalah EAbort, maka Han-dleException akan memanggil pegangan OnException (jika ada), jika tidak, ShowException akan dipanggil untuk menampilkan kotak dialog yang memunculkan kesalahan. 2.4 Metode UnhookMainWindow Metode UnhookMainWindow digunakan untuk melepaskan program yang digantung pada form utama dengan metode HookMainWindow. Definisinya adalah sebagai berikut: ketik TWindowHook = function(var Message: TMessage): Boolean objek; procedure UnhookMainWindow(Hook: TWindowHook); Tentukan prosedur kotak dialog di parameter Kait. Tipe TwindowHook adalah parameter untuk memanggil metode HookMainWindow. Parameter ini adalah penunjuk metode untuk memanggil program dialog di kotak dialog non-Delphi. Program dialog mirip dengan program jendela dalam hal mereka memproses pesan untuk kotak dialog, namun sintaksnya berbeda. 3. Event 3.1 Event OnActivate Event OnActivate terjadi ketika aplikasi menjadi aktif. Definisinya adalah sebagai berikut: ketik TNotifyEvent = prosedur (Pengirim: TObject) objek; properti OnActivate: TNotifyEvent Gunakan event OnActive untuk menulis event handler untuk menentukan pemrosesan khusus saat aplikasi menjadi aktif. Aplikasi Windows menjadi aktif saat pertama kali dijalankan atau saat fokusnya dialihkan kembali ke aplikasi saat ini dari aplikasi Windows lain. 3.2 Event OnDeactivate Event OnDeactivate terjadi ketika aplikasi menjadi tidak aktif. Hal ini didefinisikan sebagai berikut: tipe TNotifyEvent = prosedur (Pengirim: TObject) objek; properti OnDeactivate: TNotifyEvent; Event OnDeactive dapat dipicu segera sebelum aplikasi menjadi tidak aktif, sehingga menyelesaikan pemrosesan khusus yang ditentukan dalam event handler. Peristiwa OnDeactive aplikasi saat ini terjadi ketika pengguna melakukan transisi dari aplikasi saat ini ke aplikasi lain. 3.3 Peristiwa OnException Peristiwa OnException terjadi ketika pengecualian tanpa pegangan terjadi pada aplikasi. Hal ini didefinisikan sebagai berikut: tipe TExceptionEvent = prosedur (Pengirim: TObject; E: Exception) objek; properti OnException: TExceptionEvent Anda dapat menggunakan acara OnException untuk mengubah tindakan default ketika pengecualian tanpa penangan terjadi di aplikasi. Dalam metode metode TApplication.HandleException, event handler OnException dipanggil secara otomatis. Event OnException hanya digunakan untuk menangani pengecualian yang terjadi selama pemrosesan pesan. Pengecualian yang terjadi sebelum atau setelah Application.Run dijalankan tidak akan menyebabkan kejadian OnException terjadi. Jika pengecualian diabaikan dalam blok coba kode aplikasi, aplikasi akan secara otomatis memanggil metode HandleException. Kecuali jika objek pengecualiannya adalah EAbort, HandleException akan memanggil pegangan OnException (jika ada), jika tidak, ShowException akan dipanggil untuk menampilkan kotak dialog yang memunculkan kesalahan. Tipe TExceptionEvent adalah tipe event OnException, yang menunjuk pada metode untuk menangani pengecualian dalam aplikasi. Parameter Pengirim adalah objek yang memunculkan pengecualian, dan parameter E adalah objek pengecualian. 3.4 Event OnHelp Event OnHelp terjadi ketika aplikasi menerima permintaan bantuan. Definisinya adalah sebagai berikut: ketik THelpEvent = function (Perintah: Word; Data: Longint; var CallHelp: Boolean): Boolean objek; properti OnHelp: THelpEvent; untuk bantuan. Metode HelpContext dan metode HelpJump secara otomatis memunculkan event OnHelp. Setel CallHelp ke True untuk mengaktifkan VCL memanggil WinHelp setelah peristiwa terjadi; setel CallHelp ke False untuk mencegah VCL memanggil WinHelp. Semua metode yang berhubungan dengan bantuan dalam aplikasi Delphi melalui event OnHelp. WinHelp dipanggil hanya ketika parameter CallHelp dalam kejadian OnHelp mengembalikan True atau ketika kejadian OnHelp tidak ditetapkan ke pegangan yang valid. 3.5 Peristiwa OnHint Ketika penunjuk tetikus bergerak melalui kontrol atau item menu dan kontrol atau item menu dapat menampilkan prompt bantuan, peristiwa OnHint terjadi. Definisinya adalah sebagai berikut: ketik TNotifyEvent = prosedur (Pengirim: TObject) objek; properti OnHint: TNotifyEvent; Pengendali kejadian yang ditulis dengan OnHint dapat melakukan operasi yang ditentukan ketika peristiwa OnHint terjadi. Ketika pengguna menempatkan penunjuk tetikus pada suatu kontrol dan nilai properti Petunjuk pada kontrol tersebut bukan string kosong (''), peristiwa OnHint akan terjadi. Event OnHint biasanya digunakan untuk menampilkan nilai properti Hint dari suatu kontrol atau item menu sebagai judul kontrol panel (seperti TStatusBar), sehingga panel tersebut digunakan sebagai bilah status. Ketika peristiwa OnHint terjadi, atribut Petunjuk biasanya ditentukan sebagai Petunjuk Bantuan dan petunjuk yang lebih panjang yang ditampilkan di tempat lain. 3.6 Event OnIdle Event OnIdle terjadi ketika aplikasi menjadi idle. Definisinya adalah sebagai berikut: ketik TIdleEvent = prosedur (Pengirim: TObject; var Selesai: Boolean) objek; properti OnIdle: TIdleEvent Gunakan OnIdel untuk menulis event handler untuk menyelesaikan operasi yang ditentukan saat aplikasi menganggur. Aplikasi menganggur ketika tidak menjalankan kode apa pun. Misalnya, suatu aplikasi menganggur saat menunggu masukan pengguna. Tipe TIdelEvent adalah tipe event OnIdel, yang menunjuk ke metode yang berjalan saat aplikasi menganggur. Objek TIdelEvent memiliki variabel Selesai yang defaultnya adalah True. Jika Selesai Benar, fungsi Windows API WaitMessage akan dipanggil saat OnIdel kembali. WaitMessage menyebabkan aplikasi lain mendapatkan fokus kontrol hingga pesan baru muncul di antrian pesan aplikasi. Ketika parameter Selesai adalah False dan aplikasi tidak sibuk, aplikasi tidak akan mengizinkan aplikasi lain mendapatkan fokus kontrol. Saat aplikasi menjadi tidak aktif, peristiwa OnIdel hanya terjadi satu kali, dan peristiwa OnIdel berikutnya mungkin tidak terjadi hingga parameter Selesai diatur ke True. Menyetel Selesai ke Salah oleh aplikasi menghilangkan penghitungan waktu CPU yang tidak menentu yang dapat memengaruhi kinerja sistem secara keseluruhan. 3.7 Acara OnMessage dihasilkan ketika aplikasi menerima pesan WINDOWS. Hal ini didefinisikan sebagai berikut: ketik TMessageEvent = prosedur (var Msg: TMsg; var Ditangani: Boolean) properti OnMessage: TmessageEvent digunakan untuk menerima pesan WINDOWS dapat menerima Semua pesan yang dikirim oleh program ke WINDOWS. Peristiwa ini dihasilkan ketika aplikasi menerima pesan. Variabel Msg bertipe pesan WINDOWS.