AGB  ·  Datenschutz  ·  Impressum  







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

function für mehrere Units?

Ein Thema von Borschti · begonnen am 3. Mär 2008 · letzter Beitrag vom 4. Mär 2008
Antwort Antwort
Seite 2 von 4     12 34      
Borschti

Registriert seit: 1. Nov 2007
Ort: Marburg Lahn
235 Beiträge
 
Delphi 2007 Professional
 
#11

Re: function für mehrere Units?

  Alt 3. Mär 2008, 15:51
Nun teilt der Compiler uns leider mit, dass es einen Fehler mit dem TStringGrid gibt bei diesen Stellen:

procedure ProcessGrid (Grid: TStringGrid ; ActionId: Integer);

procedure addmon (Grid: TStringGrid);

usw...

Woran könnte das leigen

Fehlermeldung: Undefinierter Bezeichner: 'TStringGrid'

Frage: Woran liegt das, weil es ja eigentlich richtig sein müsste, oder haben wir etwas übersehen ?

(EDIT)

Das problem ist gelöst. nun folgt das nöchste -.-... Lösung für das erste war das wir die "Grids" nicht unter uses eingetragen hatten nun haben wir im nicht mainprogramm die fehler meldung Inkompatible Typen: 'TStringGrid' und 'Class reference'

und was bedeutet das nun und was ist eine Class reference überhaupt ?? ^^
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#12

Re: function für mehrere Units?

  Alt 3. Mär 2008, 15:53
Ihm wird eine benötigte Unit fehlen. Einfach die Delphi-Hilfe aufmachen, TStringgrid suchen. Im Hilfefenster sollte dann zu sehen sein was für eine Unit das benötigt.
Jonas
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#13

Re: function für mehrere Units?

  Alt 3. Mär 2008, 16:15
Ohne Code zu sehen wird das nix ... Meine Kristallkugel ist grad in der Werkstatt.
  Mit Zitat antworten Zitat
Borschti

Registriert seit: 1. Nov 2007
Ort: Marburg Lahn
235 Beiträge
 
Delphi 2007 Professional
 
#14

Re: function für mehrere Units?

  Alt 3. Mär 2008, 16:20
okay dann hier mal die code fragmente

Delphi-Quellcode:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, GIFImg, ExtCtrls, Grids;
   procedure ProcessGrid (Grid: TStringGrid ; ActionId: Integer);
type
//...


  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form5: TForm5;

implementation

uses BList, BListK, Kndst, KndstK, Eink, EinkK, Verk, VerkK, KursT, KursTK;

{$R *.dfm}

 procedure addmon (Grid: TStringGrid);
 var i : Integer;
    b : String;
 begin
  
 i := 0;

 Form4.StringGrid1.RowCount := Form4.StringGrid1.RowCount +1;

 for i := 1 to Form4.Stringgrid1.rowcount - 1 do
  begin
    b := IntToStr(i);
    Form4.Stringgrid1.Cells[0,i] := (b + '. Monat');
  end
end;
//...
procedure ProcessGrid (Grid: TStringGrid ; ActionId: Integer);
begin
  case ActionId of
    1: addmon (Grid);
    //2: adddrug (Grid);
    //3: killcol (Grid);
   end;
end;

end.
Andere Unit

Delphi-Quellcode:

unit EinkK;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Unit8, Grids;

type

//...
var
  Form13: TForm13;

implementation
uses Main, BList, BListK, Kndst, KndstK, Eink, Verk, VerkK;
{$R *.dfm}

procedure TForm13.ColorButton2Click(Sender: TObject);
begin
ColorDialog1.Execute;
Form11.StringGrid1.Color := ColorDialog1.Color;
end;

procedure TForm13.ColorButton3Click(Sender: TObject);
begin
form13.close;
end;

procedure TForm13.ColorButton4Click(Sender: TObject);
begin
FontDialog1.Execute;
Form11.StringGrid1.Font := FontDialog1.Font;
end;

procedure TForm13.ColorButton6Click(Sender: TObject);
begin

ProcessGrid (TStringGrid, 1); //<--- Hier tritt der Fehler Auf



end;

end.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: function für mehrere Units?

  Alt 3. Mär 2008, 16:32
Ihr solltet vielleicht mal ein paar Grundlagen Tutorials wälzen.
Markus Kinzler
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#16

Re: function für mehrere Units?

  Alt 3. Mär 2008, 16:33
Denke ich mir auch grad ...
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#17

Re: function für mehrere Units?

  Alt 3. Mär 2008, 16:39
Moin, Moin,

habt ihr wirklich ein Stringgrid mit dem Namen TStringGrid ??????

Zitat:
ProcessGrid (TStringGrid, 1); //<--- Hier tritt der Fehler Auf
Ihr müsst hier den Gridnamen übergeben nicht den Klassennamen...
Ralph
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#18

Re: function für mehrere Units?

  Alt 3. Mär 2008, 16:42
Delphi-Quellcode:
procedure addmon (Grid: TStringGrid);
var i : Integer;
    b : String;
begin
 
i := 0;

Form4.StringGrid1.RowCount := Form4.StringGrid1.RowCount +1;

for i := 1 to Form4.Stringgrid1.rowcount - 1 do
  begin
    b := IntToStr(i);
    Form4.Stringgrid1.Cells[0,i] := (b + '. Monat');
  end
end;
... und warum wird hier wohl ein Grid als Parameter übergeben?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.549 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: function für mehrere Units?

  Alt 3. Mär 2008, 16:46
Delphi-Quellcode:
procedure addmon (const Grid: TStringGrid);
var i : Integer;
    b : String;
begin

  Grid.RowCount := Grid.RowCount.RowCount +1;

  for i := Grid.FixedRows to Grid.rowcount - 1 do
    begin
      b := IntToStr(i);
      Grid.Cells[0,i] := (b + '. Monat');
    end;
end;
Siehst Du den Unterschied?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Borschti

Registriert seit: 1. Nov 2007
Ort: Marburg Lahn
235 Beiträge
 
Delphi 2007 Professional
 
#20

Re: function für mehrere Units?

  Alt 4. Mär 2008, 08:54
Hi nochmal

Wir haben eine Globale Variable test und wollen nun von einem Formular die variable test aus einem Editfeld an die Prozedur im Mainprogramm übergeben. Dieser String dient als Beschriftung für die Spalte

EDITIERT !! Unnötige Deklarationen sind jetzt weg
Funktioniert auch so weit, aber unsere frage jetzt kann man das direkte zugreifen auf form13 umgehen, sodass die Procedur allgemein gültig ist und von jeder Form angesprochen werden kann


Main:

Delphi-Quellcode:
  public
  //Deklaration entfallen
 /...
procedure adddrug (Const Grid: TStringGrid);

begin


// Vorher hier Grid.ColCount := Grid.ColCount + 1;

grid.Cells[Grid.ColCount ,0] := form13.test;

//Jetzt Hier
Grid.ColCount := Grid.ColCount + 1;

end;
/...
procedure ProcessGrid (Grid: TStringGrid ; ActionId: Integer);
begin
  case ActionId of
    1: addmon (Grid);
    2: adddrug (Grid);
    //3: killcol (Grid);
   end;
end;
Andere Unit
Delphi-Quellcode:
  public
     test : String;
/...
procedure TForm13.ColorButton5Click(Sender: TObject);
//Deklaration entfallen
begin

test := Edit5.text;

ProcessGrid(form11.StringGrid1, 2)
end;
Vielleicht könnt ihr uns helfen den String zu übergeben oder vielleicht kennt ihr eine bessere Lösung für unser Problem.

Mit freundlichen Grüßen
Manuel
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 05: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