Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Probleme mit Proceduraufruf
Delete - Sa 01.01.05 21:48
Titel: Probleme mit Proceduraufruf
Hallo, ich habe eine unit in der ich folgende Procedure habe.
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| procedure KomponenteMouseDown (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin TWinControl(Sender).Perform(WM_LBUTTONUP, 0, 0); TWinControl(Sender).Perform(WM_SysCommand, SC_MOVE+2, 2); end; |
Außerdem habe ich eine Procedure mit der ich einige images zur Laufzeit erzeuge.
Nun wollte ich mit
onMouseDown := KomponenteMouseDown die zuvor genannte Procedure zuweisen.
Ich erhalte jedoch immer nur folgende Fehlermeldung
Zitat: |
[Fehler] commands.pas(72): Inkompatible Typen: 'Methodenzeiger und reguläre Prozedur' |
Was stimmt denn da nicht?
Moderiert von
Tino: Code- durch Delphi-Tags ersetzt.
Moderiert von
Tino: Quote-Tags hinzugefügt.
Delete - Sa 01.01.05 22:58
Titel: Re: Probleme mit Proceduraufruf
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.KomponenteMouseDown (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin TWinControl(Sender).Perform(WM_LBUTTONUP, 0, 0); TWinControl(Sender).Perform(WM_SysCommand, SC_MOVE+2, 2); end; |
Ich würde darauf tippen, dass du vielleicht auch KomponenteMouseDown als Methode von TForm1 deklarieren musst. Probiers mal aus und vergess nicht, die Deklaration auch oben zu ändern!
Moderiert von
Tino: Code- durch Delphi-Tags ersetzt.
Delete - Sa 01.01.05 23:52
Danke, aber das hilft mir leider nicht weiter.
Form1 ist ein Splashscreen.
dann habe ich noch 5 andere Forms auf denen Buttons liegen die zur Laufzeit erzeugt werden.
Aus diesem Grund wollte ich eine unit haben in der alle Proceduren stehen, die von jeder form benutzt werden.
Kann man dass denn wirklich nicht ohne form machen?
Danke
Tino - So 02.01.05 00:36
Hallo!
Du musst die Procedure auf jeden Fall in eine Klasse packen (dadurch wird sie zu einer Methode) da alle On...-Events eine Methode erwarten. Ob das jetze eine Form-Klasse ist oder sonst eine ist egal. Hauptsache die Procedure befindet sich in einer Klasse!
Gruß
Tino
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!