BPL vs. DLL dalam Aplikasi Pemrograman Delphi

click fraud protection

Ketika kita menulis dan mengompilasi aplikasi Delphi, kita biasanya menghasilkan file yang dapat dieksekusi - aplikasi Windows yang berdiri sendiri. Tidak seperti Visual Basic, misalnya, Delphi menghasilkan aplikasi yang dibungkus dengan file exe kompak, tanpa perlu perpustakaan besar runtime (DLL).

Coba ini: mulai Delphi dan kompilasi proyek default itu dengan satu formulir kosong, ini akan menghasilkan file yang dapat dieksekusi sekitar 385 KB (Delphi 2006). Sekarang, masuk ke Project - Options - Packages dan centang kotak centang 'Build with runtime Packages'. Kompilasi dan jalankan. Voila, ukuran exe sekarang sekitar 18 KB.

Secara default, 'Bangun dengan paket runtime' tidak dicentang dan setiap kali kami membuat aplikasi Delphi, kompilator menautkan semua kode yang dibutuhkan aplikasi Anda untuk langsung masuk ke file yang dapat dieksekusi aplikasi. Aplikasi Anda adalah program mandiri dan tidak memerlukan file pendukung (seperti DLL) - itu sebabnya exe Delphi sangat besar.

Salah satu cara menciptakan

instagram viewer
program Delphi yang lebih kecil adalah untuk mengambil keuntungan dari 'Borland package libraries' atau BPL secara singkat.

Apa itu Paket?

perpustakaan tautan dinamis khusus yang digunakan oleh aplikasi Delphi

Paket memungkinkan kita untuk menempatkan sebagian dari aplikasi kita ke dalam modul terpisah yang dapat dibagikan di beberapa aplikasi. Paket, juga, menyediakan sarana untuk memasang komponen (khusus) ke dalam pallete VCL Delphi.

Oleh karena itu, pada dasarnya dua jenis paket dapat dibuat oleh Delphi:

  • Paket run-time - menyediakan fungsionalitas ketika pengguna menjalankan aplikasi - mereka beroperasi seperti DLL standar.
  • Paket desain-waktu - digunakan untuk menginstal komponen di IDE delphi dan untuk membuat editor properti khusus untuk komponen khusus.
Paket desain

Dari titik ini, artikel ini akan membahas paket run-time dan bagaimana mereka dapat membantu programmer Delphi.

Satu mit salah: Anda tidak diharuskan menjadi Pengembang komponen delphi untuk memanfaatkan paket. Pemrogram Delphi pemula harus mencoba bekerja dengan paket - mereka akan mendapatkan pemahaman yang lebih baik tentang cara kerja paket dan Delphi.

Kapan dan kapan Tidak Menggunakan Paket

DLL paling sering digunakan sebagai kumpulan prosedur dan fungsi yang bisa dipanggil oleh program lain. Selain menulis DLL dengan rutinitas khusus, kami dapat menempatkan formulir Delphi lengkap dalam DLL (misalnya formulir AboutBox). Teknik umum lainnya adalah menyimpan apa pun kecuali sumber daya dalam DLL. Informasi lebih lanjut tentang cara Delphi beroperasi dengan DLL ditemukan di artikel ini: DLL dan Delphi.

Sebelum melanjutkan ke perbandingan antara DLL dan BPL kita harus memahami dua cara menghubungkan kode dalam executable: menghubungkan statis dan dinamis.

Menghubungkan statis berarti bahwa ketika proyek Delphi dikompilasi, semua kode yang diperlukan aplikasi Anda langsung ditautkan ke file aplikasi Anda yang dapat dieksekusi. Exe yang dihasilkan file berisi semua kode dari semua unit yang terlibat dalam suatu proyek. Mungkin terlalu banyak kode. Secara default, gunakan klausa untuk daftar unit formulir baru lebih dari 5 unit (Windows, Pesan, SysUtils, ...). Namun, tautan Delphi cukup pintar untuk menautkan hanya kode minimum dalam unit yang benar-benar digunakan oleh suatu proyek. Dengan tautan statis aplikasi kami adalah program mandiri dan tidak memerlukan paket pendukung atau DLL (lupakan komponen BDE dan ActiveX untuk saat ini). Dalam Delphi, tautan statis adalah standarnya.

Tautan dinamis seperti bekerja dengan DLL standar. Artinya, tautan dinamis menyediakan fungsionalitas ke banyak aplikasi tanpa mengikat kode secara langsung ke setiap aplikasi - paket apa pun yang diperlukan dimuat di runtime. Hal terbesar tentang penautan dinamis adalah pemuatan paket oleh aplikasi Anda secara otomatis. Anda tidak perlu menulis kode untuk memuat paket dan Anda tidak perlu mengubah kode Anda.

Cukup centang kotak 'Bangun dengan paket runtime' yang ditemukan di Project | Kotak dialog opsi. Lain kali Anda membangun aplikasi Anda, kode proyek Anda akan ditautkan secara dinamis ke paket runtime daripada memiliki unit yang terhubung secara statis ke dalam file yang dapat dieksekusi.

instagram story viewer