![]() |
Re: Komponenten freigeben - Invalid pointer operation
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Mein Programm bietet Optionen für eine Zeiterfassung durch einen User an. Dazu sind Aktitäten des Benutzers erfassbar und werden dann als Buttons dargestellt. Je nachdem drückt dann der Benutzer den Button der Aktivität, welcher er gerade nachgeht. Die Zeitprofile werden pro Tag gespeichert und sind dann auswertbar (Chart, Summen etc.) Gruß, Christoph |
Re: Komponenten freigeben - Invalid pointer operation
Also Doch ne ActionList. Hierzu baust Du Dir nen Definitionsdialog (den Du acuh wieder übern ne Action rufen kannst), der ne neue Action anlegt, und zwar mit der eingegebenen Aktion als Name. Ausserdem kriegt jede Aktion den gleichen Callback. Diese Action-Objekte werden dann in die Action-List gespeichert.
Jetzt kann der Nutzer die so erstellten Aktionen im ActionManager in eine TActionToolBar einfügen und sobald er einen davon klickt, wechselt die Zeiterfassung in den entsprechenden Modus. Dazu fragst Du im callback nur den Namen der aktuellen Aktion ab. |
Re: Komponenten freigeben - Invalid pointer operation
Zitat:
Und ich sehe bei seiner Anwendung keine Besserung durch die Anwendung von Actions bei dem Problem der Zuordnung von der TActivity Instanz zu der, diesmal Action anstatt Button, Instanz. Und dein Vorschlag an der wichtigen Stelle wieder auf einen Stringvergleich zurück zu fallen, ist genau die Lösung die wir zuvor schon hatten. |
Re: Komponenten freigeben - Invalid pointer operation
Ich habe es jetzt so impl. wie von Muetze1 vorgeschlagen. Das funktioniert sehr gut.
Danke Euch beiden für die Hinweise & Tipps. Gruß, Christoph |
Re: Komponenten freigeben - Invalid pointer operation
Das war vielleicht etwas unglücklich formuliert, aber so wie ichs verstanden habe, wird bei jedem Klick auf einen Knopf ein Zeitstempel geholt und mit dem Namen der aktuellen Aktion verknüpft.
Was ich meinte, war nicht per Namensvergleich rauskriegen, welche Aktion grade den callback ruft, das ist klar, namlich der Sender. Ich meinte, dass man den Namen der Aktion gleich verwenden kann, um ihn mit dem Zeitstempel zu verheiraten. Hier findet also kein Stringvergleich statt. |
Re: Komponenten freigeben - Invalid pointer operation
Hallo,
1. schmeiss das Teil aus der Components-List des Forms raus, bevor Form.Destroy aufgerufen wird. 2. nimm NIL als Parameter statt Self dann musst du dich aber auch selbst um die Freigabe kümmern. Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz