Meine Homepage: http://www.tommstudio.com/
In der Delphi -Programmierung müssen wir Speicherlecks vermeiden, indem wir alle Objekte deinstallieren. Wenn Sie im Programm jedoch nicht vorsichtig sind, ist es einfach, dasselbe Objekt mehrmals rückgängig zu machen, was zu schwerwiegenden Fehlern führt und die Anwendung zum Absturz oder sogar zum Absturz bringt.
Bitte beachten Sie das folgende Programm:
|
Im obigen Beispiel wird ein Fehler bei der Ausführung auf Taste3 generiert .
Um den oben genannten Fehler zu vermeiden, gibt es zwei Möglichkeiten: Erstens entfernen Sie alle Komponenten, in denen sich der Host befindet, bevor er entfernt wird. Diese Methode ist sehr einfach, nur übertragen. Zweitens stellen Sie die Taste3 -Variable auf NIL ein, bevor Taste3.Free ausgeführt wird. Das Verfahren ist wie folgt:
|
Im obigen Programm soll die Einstellung der Schaltfläche 3 an NIL verhindern, dass die Anwendung den Speicher des undfunktionen Objekts wiederverwendet. Wenn Sie die freie Objektmethode aufrufen, wird festgelegt, ob das Objekt null ist. Verwandte virtuelle Objektmethoden Datentabelleninformationen. Destroy ändert keine Änderungen an der Speicheradresse, an der Objekte existieren. Wenn Sie also die Speicheradresse nach dem Aufrufen von Zerstörungen testen, ist dies möglicherweise weiterhin gültig. Wenn also ein Objekt im Programm zweimal aufgerufen wird, ohne die Objektreferenz auf NIL festzulegen, bezieht sich die Objektreferenz weiterhin auf die vom Objekt besetzte Speicheradresse, bevor es deinstalliert wurde, was der Grund für den Fehler ist.
Natürlich sind im tatsächlichen Entwicklungsprozess die meisten Fehler nicht so offensichtlich, und die Lösung sollte gemäß den Einzelheiten bestimmt werden, und das Problem wird nicht durch Hinzufügen eines Satzes gelöst. Hier erkläre ich nur eine Programmierungsidee, die eine Rolle bei der Anziehung von Jade spielt.