Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Zugriffsverletzung nach löschen einer Componente (https://www.delphipraxis.net/126265-zugriffsverletzung-nach-loeschen-einer-componente.html)

Captnemo 21. Dez 2008 19:39


Zugriffsverletzung nach löschen einer Componente
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute,

ich bin dabei eine Application zu schreiben. Ich möchte in dieser auf einem Panel Buttons erzeugen. Also eine Art Menu, weil die Application später auf einem Touchscreen laufen soll.
Die ersten Buttons erscheinen als eine Art Auswahlgruppe. Wenn dann einer dieser Button geklickt wird, werden die ganzen Button gelöscht und eben neue für die Artikel in der Gruppe erzeugt.

Nun erhalte ich bei der Auswahl einer Gruppe manchmal eine Zugriffsverletzung. Diese tritt aber erst auf, wenn die dem Button zugeordnete Procedure abgearbeitet ist. Dieses Verhalten kann ich mir im Moment leider nicht so wirklich erklären.

Deshalb bitte ich euch um Hilfe, ob mir jemand dieses erklären kann.

Als hilfe hab ich mal den Sourcecode angehängt.

Dank im Voraus.

mkinzler 21. Dez 2008 19:40

Re: Zugriffsverletzung nach löschen einer Componente
 
Du könntest den Button auch nur ausblenden (
Delphi-Quellcode:
 Button.Visible := False;
);

Captnemo 21. Dez 2008 20:20

Re: Zugriffsverletzung nach löschen einer Componente
 
Das könnte ich machen, aber ich will ja die Gruppe und die jeweiligen Artikel dynamisch halten. Ich weiß ja vorher nicht, wieviele Gruppen und Artikel der User anlegen will. Und dazu kommt ja noch, dass je nach Bildschirmgröße und Auflösung mehr oder weniger Buttons auf den Bildschirm passen.

Es muß doch irgendwo ein Fehler sein, und den will ich finden. Schon allein des Verständnis wegen.

mkinzler 21. Dez 2008 20:44

Re: Zugriffsverletzung nach löschen einer Componente
 
Wo tritt den der Fehler genau auf?

Captnemo 21. Dez 2008 20:57

Re: Zugriffsverletzung nach löschen einer Componente
 
Wenn die OnClick-Procedure des Buttons verlassen wird.

Also, als erstes wird eine Gruppenliste geladen. Für jede Gruppe wird ein Button erzeugt. Wird nun auf einen Button geklickt, so werden alle Button gelöscht, und für die hinter der Gruppe liegenden Artikel neue Buttons erzeugt.
Genau da liegt wohl auch der Fehler.
Denn wenn ich während der Procedure eines Buttons, den selbigen lösche, ziehe ich der Procedure ja quasi den Boden unter den Füßen weg. Anders herum existiert die Procedure ja noch. Interessanterweise tritt dieser Fehler nicht immer auf. Aber ein Muster konnte ich bisher noch nicht erkennen.
Deswegen hab ich ja den Sourcecode angehängt. Wär toll, wenn du dir den mal anschaust.

Captnemo 22. Dez 2008 10:05

Re: Zugriffsverletzung nach löschen einer Componente
 
Habs jetzt über einen Message gelöst.

Siehe
http://www.delphipraxis.net/internal...ghlight=wmuser

Klappt jetzt ohne jede Fehlermeldung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz