AGB  ·  Datenschutz  ·  Impressum  







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

Deklarationen II

Ein Thema von Hellcat · begonnen am 2. Apr 2003 · letzter Beitrag vom 4. Apr 2003
Antwort Antwort
Hellcat

Registriert seit: 27. Feb 2003
60 Beiträge
 
Delphi 6 Personal
 
#1

Deklarationen II

  Alt 2. Apr 2003, 17:03
Hi Leute!

Ich hab wieder mal ein Problem bei meinen Deklarationen (scheinbar bin ich echt zu doof dazu). Bei der folgenden Zeile
     BildTHL[i] := THL (Application.Form1.THLPan[i],Button,BildTHL[i]); erzählt er mir daß er Form1 nicht kennt (Undeclared Identifer) obwohl ich die Form bei dieser Unit deklariert habe (Form1 gehört zu einer anderen Unit...)
Delphi-Quellcode:
uses SysUtils, ExtCtrls, StdCtrls, Controls, Classes, Graphics, Dialogs,Forms,
     unittype;
  {Standard-Units auf die zurückgegriffen wird}

    procedure Farbewechseln (Sender: TPanel; Button: TMousebutton);
    function Zeitangabe:string;
    function THL (Sender: TImage; Button: TMousebutton; Bild: boolean): boolean;
    function Sound (Sender: TImage; Button: TMousebutton; Bild: boolean): boolean;
    function Schloss (Sender: TImage; Button: TMousebutton; Bild: boolean): boolean;
    procedure speichern;
    function laden : string;
    procedure zerlegen (Zeile:string);
  type
    THLPan1 = TImage;
    TForm1 = {class(TForm)}TForm;
2+2=5 (for large values of 2)
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2
  Alt 2. Apr 2003, 17:04
Mach mal das Application vor Form1 weg

und das muss heissen
TForm1 = class(TForm) (bei dir war das in comments!)
David F.
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#3

Re: Deklarationen II

  Alt 2. Apr 2003, 17:07
Hallo,

das da
Zitat von Hellcat:
Delphi-Quellcode:
procedure Farbewechseln (Sender: TPanel; Button: TMousebutton);
    function Zeitangabe:string;
    function THL (Sender: TImage; Button: TMousebutton; Bild: boolean): boolean;
    function Sound (Sender: TImage; Button: TMousebutton; Bild: boolean): boolean;
    function Schloss (Sender: TImage; Button: TMousebutton; Bild: boolean): boolean;
    procedure speichern;
    function laden : string;
    procedure zerlegen (Zeile:string);
vor
Delphi-Quellcode:
  type
    THLPan1 = TImage;
    TForm1 = {class(TForm)}TForm;
das da?

Was hast Du denn vor?
Und was möchtest Du denn bitte damit machen?
"TForm1 = {class(TForm)}TForm;"

Grüsse, Daniel
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#4
  Alt 2. Apr 2003, 17:32
Hallo,
also zusammenfassend sollte es so aussehen:

Delphi-Quellcode:
uses SysUtils, ExtCtrls, StdCtrls, Controls, Classes, Graphics, Dialogs,Forms,
     unittype;
  {Standard-Units auf die zurückgegriffen wird} 

type
TForm1 = class(TForm)
  THLPan1 : TImage; // komischer Name für ein Image (Tnnn ... sollte für Typen reserviert sein)
  private
    { Private-Deklarationen }
    procedure Farbewechseln (Sender: TPanel; Button: TMousebutton);
    function Zeitangabe:string;
    function THL (Sender: TImage; Button: TMousebutton; Bild: boolean): boolean;
    function Sound (Sender: TImage; Button: TMousebutton; Bild: boolean): boolean;
    function Schloss (Sender: TImage; Button: TMousebutton; Bild: boolean): boolean;
    procedure speichern;
    function laden : string;
    procedure zerlegen (Zeile:string);
  public
    { Public-Deklarationen }
end;
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Hellcat

Registriert seit: 27. Feb 2003
60 Beiträge
 
Delphi 6 Personal
 
#5
  Alt 3. Apr 2003, 15:27
Hmm, das hat irgendwie keine Wirkung gehabt...

ich kriege immer noch die gleiche Fehlermeldung...

Delphi-Quellcode:
uses SysUtils, ExtCtrls, StdCtrls, Controls, Classes, Graphics, Dialogs,Forms,
     unittype;
  {Standard-Units auf die zurückgegriffen wird}

    procedure Farbewechseln (Sender: TPanel; Button: TMousebutton);
    function Zeitangabe:string;
    function THL (Sender: TImage; Button: TMousebutton; Bild: boolean): boolean;
    function Sound (Sender: TImage; Button: TMousebutton; Bild: boolean): boolean;
    function Schloss (Sender: TImage; Button: TMousebutton; Bild: boolean): boolean;
    procedure speichern;
    function laden : string;
    procedure zerlegen (Zeile:string);
  type
    TForm1 = class(TForm);
    THLPan1 = TImage;
       BildTHL[i] := THL (Form1.THLPan[i],Button,BildTHL[i]);
2+2=5 (for large values of 2)
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#6
  Alt 3. Apr 2003, 17:17
Hallo,

Zitat:
erzählt er mir daß er Form1 nicht kennt (Undeclared Identifer) obwohl ich die Form bei dieser Unit deklariert habe (Form1 gehört zu einer anderen Unit...)
kann es sein, das Du die Unit der Form1 nicht ein Deine andere (?) Form eingebunden hast?

Delphi-Quellcode:
UNIT Unit2; // Deine Form die Du gepostet hast
INTERFACE
USES
   Windows,
   Messages,
   SysUtils,
   Classes,
   ...
VAR
   Form2 : TForm2;
IMPLEMENTATION
uses Unit1; // Die Unit deiner Form1 die Du hier aufrufen möchtest
...
ansonsten Poste deine Units etwas detailierter.

p.s. Vergleiche noch einmal Deinen Source mit dem den ich gestern gepostet habe, (bzw. mit dem was Daniel B und mirage228 gepostet haben), da gib es gravierende Unterschiede!
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Hellcat

Registriert seit: 27. Feb 2003
60 Beiträge
 
Delphi 6 Personal
 
#7
  Alt 4. Apr 2003, 08:31
Hmm, stimmt ja, das sollte man machen...aber dann hab ich wieder das Problem daß sich zwei Units gegenseitig referenzieren...

Unit Haupt:
Delphi-Quellcode:
unit UnitHaupt;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, unittype, unitfunc,unitls, Menus, ExtCtrls, StdCtrls,
  ActnList, StdActns;
Unit Func:
Delphi-Quellcode:
uses SysUtils, ExtCtrls, StdCtrls, Controls, Classes, Graphics, Dialogs,Forms,
     unittype, UnitHaupt;
So würde das dann aussehen...und das kann ja nicht klappen...aber wie dann?
2+2=5 (for large values of 2)
  Mit Zitat antworten Zitat
Hellcat

Registriert seit: 27. Feb 2003
60 Beiträge
 
Delphi 6 Personal
 
#8
  Alt 4. Apr 2003, 08:48
Ok, ich hab das Problem jetzt gelöst, die zirkuläre Refernz hab ich so umgangen:

Delphi-Quellcode:
unit UnitFunc;

interface

uses SysUtils, ExtCtrls, StdCtrls, Controls, Classes, Graphics, Dialogs,Forms,
     unittype;
  {Standard-Units auf die zurückgegriffen wird}
  type
    TForm1 = class(TForm);
    THLPan1 = TImage;

    procedure Farbewechseln (Sender: TPanel; Button: TMousebutton);
    function Zeitangabe:string;
    function THL (Sender: TImage; Button: TMousebutton; Bild: boolean): boolean;
    function Sound (Sender: TImage; Button: TMousebutton; Bild: boolean): boolean;
    function Schloss (Sender: TImage; Button: TMousebutton; Bild: boolean): boolean;
    procedure speichern;
    function laden : string;
    procedure zerlegen (Zeile:string);



implementation

uses UnitHaupt;
2+2=5 (for large values of 2)
  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 21:01 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