AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Form an Funktion übergeben

Offene Frage von "cYaONE"
Ein Thema von cYaONE · begonnen am 27. Jul 2003 · letzter Beitrag vom 26. Aug 2003
Antwort Antwort
cYaONE

Registriert seit: 18. Mai 2003
Ort: Sand am Main
192 Beiträge
 
Delphi 7 Personal
 
#1

Form an Funktion übergeben

  Alt 27. Jul 2003, 19:54
Servus!

Wisst ihr zufällig, wie man ein Form als Parameter an eine Prozedur weitergibt?

So gehts nicht:

Delphi-Quellcode:
procedure Test(Form: TForm);
begin

end;
weil wenn ich ein Form erstelle, wird es von TForm abgeleitet und ist somit nichtmehr von diesem Typ

Was kann man da machen?

Danke schonmal!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Form an Funktion übergeben

  Alt 27. Jul 2003, 21:47
Moin cYaONE,

Zitat von cYaONE:
weil wenn ich ein Form erstelle, wird es von TForm abgeleitet und ist somit nichtmehr von diesem Typ
Wenn TForm1 von TForm abgeleitet ist, enthält TForm1 alle Eigenschaften und Methoden von TForm, und genau deshalb, kannst Du es genau so machen, wie von Dir beschrieben.
Du kannst nur die in, z.B., TForm1 neu hinzugekommenen Eigenschaften und Methoden nicht direkt ansprechen. Dafür müsstest Du als Typ für den Parameter halt TForm1 angeben.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
cYaONE

Registriert seit: 18. Mai 2003
Ort: Sand am Main
192 Beiträge
 
Delphi 7 Personal
 
#3

Re: Form an Funktion übergeben

  Alt 27. Jul 2003, 22:53
Das Problem ist, das ich zu dieser Zeit nicht weiß, von welchem Typ das Formular ist
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Form an Funktion übergeben

  Alt 27. Jul 2003, 23:12
Moin cYaONE,

welche Typen möglich sind ist Dir doch bekannt, oder?
Dann könntest Du in der Prozedur den Typ abfragen, falls Du die bestimmten Bestandteile eines abgeleiteten Forms brauchst, oder Du gibst Dich mit den Möglichkeiten der Basisklasse zufrieden.

Nur mal so als Beispiel und ungetestet.

Delphi-Quellcode:
var
  f1 : TForm1;
  f2 : TForm2;
//...

begin
  f1 := nil;
  f2 := nil;
  //...
  if Form is TForm1 then begin
    f1 := Form as TForm1;
  end;
  //...
  if f1 <> nil then begin
    f1.Button1.Enabled := true;
  end;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Rumpi

Registriert seit: 26. Aug 2003
Ort: Berlin
72 Beiträge
 
#5

Re: Form an Funktion übergeben

  Alt 26. Aug 2003, 21:49
Ich würds so machen

Delphi-Quellcode:

// TForm2 Unit

procedure TForm2.CallForm1;
begin
  if Assigned( Form1 ) ten
    Form1.Test( Self );
end;


// TForm1 Unit

procedure TForm1.Test(Sender: TObject);
begin
  if Assigned( Sender ) and ( Sender is TForm2 ) then
    with TForm2( Sender ) do
    begin
      ...

    end;
end;
mfg Rumpi

[edit=Daniel B]BB-Code eingeschaltet. Mfg, Daniel B[/edit]
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:13 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