Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Procedure aus Form1 im Form3 nutzen? (https://www.delphipraxis.net/154042-procedure-aus-form1-im-form3-nutzen.html)

OrNEC 25. Aug 2010 17:22

Delphi-Version: 2005

Procedure aus Form1 im Form3 nutzen?
 
Hallo,

hab folgendes Problem: ich hab eine Procedure im Form1 die ich im Form3 aufrufen will, aber es gelingt mir irgendwie nicht, wer kann mir das helfen? Hier ist der Code:


Delphi-Quellcode:
type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
...



procedure ZeileBlenden(sg: TStringgrid; Zeile: integer);
begin
  if (Zeile < sg.rowcount) and (Zeile >= 0)
    then begin
    if sg.rowheights[Zeile] <= abs(sg.GridlineWidth) then
      sg.rowheights[Zeile] := sg.DefaultRowHeight
    else sg.rowheights[Zeile] := -sg.GridlineWidth;
  end;
end;


ZeileBlenden(StringGrid1, Stringgrid1.rowcount-1);
Um die procedure ZeileBlenden im Form3 aufzurufen muss ich wohl die StringGrid1 da irgedwie deklarieren, oder? Die Procedure selber hab ich auch nach Form3 übertragen.

Muellermilchtrinker 25. Aug 2010 17:24

AW: Procedure aus Form1 im Form3 nutzen?
 
Mach mal
Delphi-Quellcode:
procedure TForm1.ZeileBlenden(sg: TStringgrid; Zeile: integer);
und füg das unter public Deklarationen ein:
Delphi-Quellcode:
procedure ZeileBlenden(sg: TStringgrid; Zeile: integer);

OrNEC 25. Aug 2010 17:29

AW: Procedure aus Form1 im Form3 nutzen?
 
Hm... ne das will nicht gehen. StringGrid1 ist undefinierter Bezeichner. :gruebel:

Muellermilchtrinker 25. Aug 2010 17:33

AW: Procedure aus Form1 im Form3 nutzen?
 
Achso, du willst auf das Stringgrid zugreifen. Füg deine Unit1 in die Uses ein. Dann kannst du über Form1.Stringgrid1 auf das Stringgrid zugreifen.
EDIT: du kannst auch uses Unit1; unter implementation einfügen.

OrNEC 25. Aug 2010 17:38

AW: Procedure aus Form1 im Form3 nutzen?
 
Zitat:

Zitat von Muellermilchtrinker (Beitrag 1044987)
Achso, du willst auf das Stringgrid zugreifen. Füg deine Unit1 in die Uses ein. Dann kannst du über Form1.Stringgrid1 auf das Stringgrid zugreifen.
EDIT: du kannst auch uses Unit1; unter implementation einfügen.

Hab ich schon. Also mir ist egal wie ich das mache, haptsache die procedure ZeileBlenden im Form3 funktioniert.

Delphi-Quellcode:
ZeileBlenden(StringGrid1, StringGrid1.RowCount-1);

Muellermilchtrinker 25. Aug 2010 17:42

AW: Procedure aus Form1 im Form3 nutzen?
 
Also füg deine Unit1 in die uses Klausel ein und dann probier als Aufruf:

Delphi-Quellcode:
ZeileBlenden(Form1.StringGrid1, Form1.StringGrid1.RowCount-1);

OrNEC 25. Aug 2010 17:44

AW: Procedure aus Form1 im Form3 nutzen?
 
Hab ich ...

Der Fehler - ZeileBlenden ist undefinierter Bezeichner.

Muellermilchtrinker 25. Aug 2010 17:50

AW: Procedure aus Form1 im Form3 nutzen?
 
Ich denke du hast die Procedure in Unit3 kopiert???

OrNEC 25. Aug 2010 17:54

AW: Procedure aus Form1 im Form3 nutzen?
 
Hab ich auch versucht, aber dann ist die StringGrid undefinierter Bezeichner. :roteyes:

Soll ich dir vllt das ganze Projekt schicken? Hab Delphi 7PE

Muellermilchtrinker 25. Aug 2010 17:57

AW: Procedure aus Form1 im Form3 nutzen?
 
Zeig doch mal beide Units hier.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:58 Uhr.
Seite 1 von 2  1 2      

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