AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia [Andorra2d]: keine Form-Events?
Thema durchsuchen
Ansicht
Themen-Optionen

[Andorra2d]: keine Form-Events?

Ein Thema von EugenB · begonnen am 12. Mai 2008 · letzter Beitrag vom 14. Mai 2008
 
EugenB

Registriert seit: 7. Dez 2006
98 Beiträge
 
Lazarus
 
#10

Re: [Andorra2d]: keine Form-Events?

  Alt 13. Mai 2008, 16:37
Zitat von igel457:
Gehe das Programm doch einfach mal mit dem Debugger Schritt für Schritt durch und schaue ob innerhalb der Zuweisung der Events (in TAdLCLOGLComponentWindow.SetupEvents) irgendwo ein Fehler auftritt.
Hab ich gemacht, doch leider wird die Funktion nicht bis zu ende ausgeführt, weil ...

Delphi-Quellcode:
if FControl.Owner is TForm then
    FForm := TForm(FControl.Owner)
  else
    exit;
wegen diesen 4 Zeilen wird die Funktion sofort beendet. Nun gut also hab ich mal die erste und die letzten beiden auskommentiert. Beim durchlaufen der Funktion kamen keine Fehler.

Immernoch kein MouseEvent. Dann hab ich mir die Funktion TAdLCLOGLComponentWindow.MouseDown angeschaut und diese auch beim Debuggen durchgegangen. Das Ergebnis war es wurde kein Event Zugewiesen, obwohl bei der SetupEvents keine Fehler auftraten. Nun gut habe ich mal wieder versucht die Events per Hand zuzuweisen und tada der MouseEvent wurde ausgeführt jippiee ^^

Delphi-Quellcode:
AdDraw.Window.Events.OnMouseDown:=@FormMouseDown;
  AdDraw.Window.Events.OnMouseMove:=@FormMouseMove;
  AdDraw.Window.Events.OnMouseUp:=@FormMouseUp;
Also zusammengefasst:
Da die Funktion TAdLCLOGLComponentWindow.SetupEvents sofort beendet wird, können keine Events dem FContext zugewiesen werden und somit auch keine externen Zuweisungen.

Die Events der Form werden nicht in die AdDraw.Window.Events übernommen. Und da wäre auch der Fehler ^^.

Bei TAdVCLComponentWindow.SetupEvents werden anscheinend die Events übernommen, aber diese habe ich noch nicht probiert zu compilieren.

Naja wie auch immer, es funktioniert wenn man die 3 Zeilen (s.o) auskommentiert und die Events per Hand zuweist.

Ich hätte noch einen Lösungsvorschlag für die TAdLCLOGLComponentWindow-Klasse.

Man muss keine Events per AdDraw.Window.Events hinzufügen, die Events der Form werden sofort von der TAdLCLOGLComponentWindow-Klasse aus aufgerufen. Bisher nur OnMouseDown/Move/Up bearbeitet.

Siehe Anhang.

Und schon funktionieren Events unter Lazarus / Freepascal.

Bleibt nurnoch der Fehler mit dem AdDraw.Free^^.

MfG,
Eugen
Angehängte Dateien
Dateityp: pas adlcloglcomponentwindow_287.pas (10,0 KB, 9x aufgerufen)
  Mit Zitat antworten Zitat
 


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 20:21 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