![]() |
Zwei Units für eine Form?
Hallo
Ich hab ein kleines Problem. Ich hab 2 Buttons. Wenn ein button geklickt wird soll eine Form aufgerufen werden. Klappt auch ganz prima. Doch..... Ich will das wenn der 2. Button drückt wird, sich die selbe Form offnet aber die FOrm soll mit einer anderern Unit Verknfüpft sein. Quasi so Button1-->Form-->Unit1 Button2-->Form-->Unit2 Die form hat buttons. In unit 2 Soll eine andere OnClick-Procedure für Buttonxyz ausgeführt werden als in Unit 1. Ich will keine 2 Identischen Formen erstellen, um platz zu speichern. Ich könnte zwar auch einen Parameter übergeben aber dann müsste ich vor jeder procedure eine Verzweigung machen. Und dass will ich nicht, wenn es auch einfacher geht. MfG snow PS://Ach ja ich hab lazarus! |
Re: Zwei Units für eine Form?
Du könntest die Event-Property auf eine andere Methode setzen.
|
Re: Zwei Units für eine Form?
Sorry,
Aber ist die Event-Property für jede form einstellbar. Dass ich wie oben einer form eine Unit zuweise oder muss ich jedem Button eine neue procedure geben?. Und kann ich beim form.show; ein parameter übergeben? MfG snow |
Re: Zwei Units für eine Form?
Zitat:
Delphi-Quellcode:
formx.Button.onClick := <Klasse in Unit1>.KlickProzedur1;
|
Re: Zwei Units für eine Form?
Ein Formular besteht aus einer Form1.pas und einer Form1.dfm.
Ich hab noch nirgends gesehen, dass man es so machen kann wie Du es vorhast. Also Unit1.pas + Unit2.pas + Unit.dfm. Vermutlich wirst Du also 2x .pas und 2x .dfm benötigen. Du kannst aber Unit2.pas von Unit1.pas ableiten, dann sind sie zumindest gleich. |
Re: Zwei Units für eine Form?
Kann ich die onclick-proceduren vor dem .show ändern?
Dass ich in der "Normalen" Unit einfach eine 2. Unit include. Und vor dem show dann die onclick/change/show proceduren ändere? MfG snow |
Re: Zwei Units für eine Form?
Delphi-Quellcode:
Form.<Kompo>.onClick := <Methoden>;
Form.Show; |
Re: Zwei Units für eine Form?
Danke läuft! Kann ich die auch die ONshow procedure ändern?
MfG snow |
Re: Zwei Units für eine Form?
Ja.
|
Re: Zwei Units für eine Form?
Hallo noch mal
Ich bekomme bei
Delphi-Quellcode:
folgende fehlermeldung
FahrpultLsollgeschwindigkeit.OnChange:=OnchangeFahrpultdb();
Zitat:
MfG snow |
Re: Zwei Units für eine Form?
Eine Eventbehandlungsroutine muss eine Methode sein und muss die richtige Signatur besitzen.
|
Re: Zwei Units für eine Form?
So jetzt bitte mal auf deutsch. wo ist der unterschied zwischen einer Methode und einer procedure?
Wo muss ich die Methode angeben und wo deklarieren? MfG snow |
Re: Zwei Units für eine Form?
Eine Methode gehört zu einer Klasse.
|
Re: Zwei Units für eine Form?
Bei mir sieht das so aus.
Hauptform -Button1---->nebenform -Button2---->nebenform soll andere Event-Proceduren haben. Ich hab ne procedure die so heißt
Delphi-Quellcode:
so die nebenform 2 ist derzeit lehr(bis auf die OnchangeFahrpultdb-procedure;
procedure THauptfenster.HauptfahrfahrplutdbClick(Sender: TObject);
begin with TFahrpultfenster.Create(self) do begin FahrpultLsollgeschwindigkeit.OnChange:=OnchangeFahrpultdb(); Show; end; end; MfG snow |
Re: Zwei Units für eine Form?
Ist OnchangeFahrpultdb jetzt eine Methode? Bei der Zuweisung von Funktions- oder Methodenzeigern darfst du außerdem nie Klammern hinter den Funktionsnamen schreiben, sonst denkt der Compiler, dass du die Funktion aufrufen willst, was schwierig werden könnte, wenn es eine Prozedur oder eine Methode ohne Rückgabewert ist. In bestimmten Fällen musst du sogar vor die Zugewiesene Routine ein @ schreiben.
|
Re: Zwei Units für eine Form?
Nein ONChangefahrpultdb ist eine procedure.
Wo und wie soll ich eine Methode erklären und was muss die methode machen? MfG snow |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:44 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