Beranda saya: http://www.tommstudio.com/
Dalam pemrograman Delphi, kita perlu menghindari kebocoran memori dengan menghapus semua objek. Namun, jika Anda tidak hati -hati dalam program ini, mudah untuk membatalkan objek yang sama beberapa kali, yang akan menyebabkan kesalahan serius, menyebabkan aplikasi crash atau bahkan macet.
Silakan lihat program berikut:
|
Dalam contoh di atas, kesalahan akan dihasilkan saat mengeksekusi ke Button3.free, Button2 dibatalkan saat memanggil Button2 .
Untuk menghindari kesalahan di atas, ada dua cara: Pertama, hapus semua komponen yang menjadi host sebelum dihapus. Metode ini sangat sederhana, cukup transfer tombol2. bebas dan tombol. Gratis dalam contoh di atas. Kedua, atur variabel Button3 ke nil sebelum tombol3.free dieksekusi. Prosedurnya adalah sebagai berikut:
|
Dalam program di atas, pengaturan Button3 ke NIL adalah untuk mencegah aplikasi menggunakan kembali memori objek yang tidak berfungsi. Saat memanggil metode objek gratis, itu menentukan apakah objek nil. Metode Objek Virtual Terkait Informasi Tabel Data. Destroy tidak membuat perubahan pada alamat memori di mana objek ada, jadi jika Anda menguji alamat memori setelah memanggil hancur, itu mungkin masih valid. Jadi ketika suatu objek dipanggil dua kali dalam program tanpa mengatur referensi objek ke NIL, referensi objek masih akan merujuk pada alamat memori yang ditempati oleh objek sebelum dicopot, yang merupakan alasan kesalahan.
Tentu saja, dalam proses pengembangan yang sebenarnya, sebagian besar kesalahan tidak akan begitu jelas, dan solusinya harus ditentukan sesuai dengan spesifik, dan masalahnya tidak akan diselesaikan dengan menambahkan kalimat dengan sederhana. Di sini saya hanya menjelaskan ide pemrograman, yang memainkan peran dalam menarik Jade.