![]() |
Procedure mit TForm1 in extra Unit?
Hallo!
Ich habe eine kurze Frage, irgendwie bin ich grade zu deppert dafür. Ich habe z.B. folgenden Aufbau: TMainForm:
Delphi-Quellcode:
Nun habe ich eine Unit, wie folgt:
unit Mainform;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics [...]; type TMainFrm = class(TForm) [...] private [...] public [...] end; var MainFrm: TMainFrm; implementation uses UnitXYZ, [...]; {$R *.dfm}
Delphi-Quellcode:
Die Procedure wird aus verschiedenen anderen Forms ausgeführt. Allerdings hätte ich gerne das "with MainForm do begin ... end;" weg; die gesamte Procedure soll sich eben auf "TMainForm" beziehen. Ich bekomme es nur nicht hin... :(
unit UnitXYZ;
interface procedure TuDas(NehmeDenString: String;); implementation uses MainForm [...]; procedure TuDas(NehmeDenString: String;); begin with MainFrm do begin [...] end; end; Kann mir jemand einen Tipp geben? Ich weiß, dass die Procedur irgendwie so aussehen muss:
Delphi-Quellcode:
Aber ich bekomm es eben nicht zum laufen, da die Procedure ja irgendwo nochmal deklariert werden muss... :(
procedure TMainFrm.TuDas(NehmeDenString: String;);
begin [...] end; |
Re: Procedure mit TForm1 in extra Unit?
Übergib doch die Form als Parameter
|
Re: Procedure mit TForm1 in extra Unit?
Hi,
versuch es doch mal mit
Delphi-Quellcode:
cu
with MainFrm do
Oliver |
Re: Procedure mit TForm1 in extra Unit?
Zitat:
Zitat:
|
Re: Procedure mit TForm1 in extra Unit?
Ich wollte nur damit sagen, dass das so nicht funktioniert, bzw. so definiert überflüssig ist ...
Zitat:
|
Re: Procedure mit TForm1 in extra Unit?
Doch tut es. ;)
Delphi-Quellcode:
...lässt nur eine Codezeile zu, die sich auf's MainForm bezieht...
with MainFrm do
Delphi-Quellcode:
...bezieht sich auf den gesamten Block zwischen begin und end... ;)
with MainFrm do begin [...] end;
Ich weiß, es ist sinnfrei, eine gesamte Procedure so "einzumauern", aber genau das versuche ich ja grade zu lösen^^ |
Re: Procedure mit TForm1 in extra Unit?
Zitat:
|
Re: Procedure mit TForm1 in extra Unit?
Zitat:
Was ist denn der tiefere Sinn dafür? Entweder ich habe ein proc oder func, die direkt mit einem Formular verknüpft ist, dann nehme ich die in die Klasse direkt mit auf, oder die ist generisch, dann meinetwegen in eine eigene Unit und dann das Formular als Parameter mit. Und trotzdem wirst du dann mit with ... do arbeiten werden wollen (nicht müssen). cu Oliver |
Re: Procedure mit TForm1 in extra Unit?
Zitat:
Zitat:
Wenn ich eine eigene Funktion direkt in MainForm eingebe, reicht es, wenn ich die Procedure nochmals im "private" deklariere. *denk* |
Re: Procedure mit TForm1 in extra Unit?
Ja, reicht.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 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