AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Komponenten freigeben - Invalid pointer operation
Thema durchsuchen
Ansicht
Themen-Optionen

Komponenten freigeben - Invalid pointer operation

Ein Thema von roth · begonnen am 12. Okt 2006 · letzter Beitrag vom 17. Okt 2006
Antwort Antwort
Seite 4 von 4   « Erste     234   
pertzschc

Registriert seit: 29. Jul 2005
Ort: Leipzig
305 Beiträge
 
Delphi 10.4 Sydney
 
#31

Re: Komponenten freigeben - Invalid pointer operation

  Alt 17. Okt 2006, 14:17
Zitat von Sidorion:
Das schaut mir verdächtig nach ner ActionList aus.
Danke für Deinen Tipp. Aber das trifft es nicht.
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
Miniaturansicht angehängter Grafiken
screen_201.png  
  Mit Zitat antworten Zitat
Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#32

Re: Komponenten freigeben - Invalid pointer operation

  Alt 17. Okt 2006, 15:20
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.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#33

Re: Komponenten freigeben - Invalid pointer operation

  Alt 17. Okt 2006, 15:34
Zitat von Sidorion:
Dazu fragst Du im callback nur den Namen der aktuellen Aktion ab.
Ich hasse unsichere Stringvergleiche als Programmiermittel. Aber das sagte ich bereits zuvor in diesem Thread...

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.
  Mit Zitat antworten Zitat
pertzschc

Registriert seit: 29. Jul 2005
Ort: Leipzig
305 Beiträge
 
Delphi 10.4 Sydney
 
#34

Re: Komponenten freigeben - Invalid pointer operation

  Alt 17. Okt 2006, 15:40
Ich habe es jetzt so impl. wie von Muetze1 vorgeschlagen. Das funktioniert sehr gut.
Danke Euch beiden für die Hinweise & Tipps.

Gruß,
Christoph
  Mit Zitat antworten Zitat
Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#35

Re: Komponenten freigeben - Invalid pointer operation

  Alt 17. Okt 2006, 16:13
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.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#36

Re: Komponenten freigeben - Invalid pointer operation

  Alt 17. Okt 2006, 22:32
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
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:32 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