AGB  ·  Datenschutz  ·  Impressum  







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

Class TPanel not found

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

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

Class TPanel not found

  Alt 9. Apr 2003, 09:40
Hi Leute!

Ich erhalte beim Starten meines Programms die Fehlermeldung "EClassNotFond with 'Class TPanel not found'". Allerdings habe ich auf besagter Form keine Panels verwendet....

Delphi-Quellcode:
program Halbel;

uses
  Forms,
  UnitHaupt in 'UnitHaupt.pas{Form1},
  UnitFunc in 'UnitFunc.pas',
  UnitType in 'UnitType.pas',
  UnitLS in 'UnitLS.pas{Form2};


{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);//Hier tritt der Fehler auf
  Application.Run;
end.
Die dazugehörige Unit sieht so aus:
Delphi-Quellcode:
unit UnitLS;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,ExtCtrls, unittype, unitfunc;

type
  TForm2 = class(TForm)
    ListBoxLaden: TListBox;
    LadenButton: TButton;
    AbrLaden: TButton;
    procedure AbrLadenClick(Sender: TObject);
    procedure LadenButtonClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.AbrLadenClick(Sender: TObject); //Form2 schließen
begin
  close;
end;

procedure TForm2.LadenButtonClick(Sender: TObject);
var Zeile : string;
begin
  Zeile := laden;
  Zerlegen(Zeile);
  Form2.Close;
end;

end.
Und hier noch mal die beiden Funktionen die von der Unit aus aufgerufen werden:
Delphi-Quellcode:
procedure zerlegen (Zeile:string); {Zerlegt die ausgelesene Textzeile in die einzelnen Werte und weißt sie zu}
var
  i, zaehler:integer;
  HName, HZeit, HFarbe, Hthl, HSchl, HSnd : string;
begin
  zaehler := 21;
  for i := 1 to 35 do {Durchlauf für alle Panels}
    begin {Initialisierung der einzelnen Variablen}
      HName := '';
      HFarbe := '';
      HZeit := '';
      HSchl := '';
      HThl := '';
      HSnd := '';
      repeat {Name}
        HName := HName + Zeile[Zaehler];
        inc (Zaehler);
      until Zeile[Zaehler] = ';';
      inc (Zaehler);
      repeat {Zeit}
        HZeit := HZeit + Zeile[Zaehler];
        inc (Zaehler);
      until Zeile[Zaehler] = ';';
      if HZeit = '0then Hzeit := '';
      inc (Zaehler);
      repeat {Farbe}
        HFarbe := HFarbe + Zeile[Zaehler];
        inc (Zaehler);
      until Zeile[Zaehler] = ';';
      HFarbe := IntToHex((StrToInt('$' + HFarbe)),6);
      inc (Zaehler);
      repeat {THL}
        Hthl := Hthl + Zeile[Zaehler];
        inc (Zaehler);
      until Zeile[Zaehler] = ';';
      inc (Zaehler);
      repeat {Halle offen/zu}
        HSchl := HSchl + Zeile[Zaehler];
        inc (Zaehler);
      until Zeile[Zaehler] = ';';
      inc (Zaehler);
      repeat {Beschallung}
        HSnd := HSnd + Zeile[Zaehler];
        inc (Zaehler);
      until Zeile[Zaehler] = '#';
      Zaehler := Zaehler + 2;
        with Application.MainForm.FindComponent('PanLab' + IntToStr(i)) as TLabel do {Zuweisung Hallenname}
          begin
            caption := HName;
          end;
        with Application.MainForm.FindComponent('PanLabT' + IntToStr(i)) as TLabel do {Zuweisung Hallenzeit}
          begin
            caption := HZeit;
          end;
        with Application.MainForm.FindComponent ('PanHalle' + InttoStr(i))as TPanel do {Zuweisung Panelfarbe}
          begin
            Color := StrToInt('$' + HFarbe);
          end;
        if HThl <> '-1then BildTHL[i] := true; {Zuweisung THL-Bild}
        BildTHL[i] := THL (Application.MainForm.FindComponent('THLPan1'+IntToStr(i))as TImage,Mbleft,BildTHL[i]);
end;
end;
Delphi-Quellcode:
function laden : string; //Funktion zum Laden
var
  load : textfile;
  zeile: string;
begin
  AssignFile (load, 'zustand.hbl');
  {$i-} Reset (load); {$i+}
  if IOResult <> 0 then
    begin
      showmessage('Die Datei "Zustand.hbl" wurde nicht gefunden!');
      Exit
    end;
  while not Eof (load) do
    begin
      readln (load, Zeile);
    end;
  closefile (load);
  result := Zeile;
end;
2+2=5 (for large values of 2)
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2
  Alt 9. Apr 2003, 10:08
offensichtlich ist da etwas von TPanel abgeleitet, glaube, es ist TButton. Irgendwie scheinen Deine Pfadangaben nicht zu stimmen. Überprüfe mal Projekt|Optionen
Gruß
Hansa
  Mit Zitat antworten Zitat
Hellcat

Registriert seit: 27. Feb 2003
60 Beiträge
 
Delphi 6 Personal
 
#3
  Alt 9. Apr 2003, 11:45
Das musst Du mir jetzt mal näher erklären was Du damit jetzt meinst, ich stand noch nie vor so einem Problem, folgerichtig weiß ich nicht was ich da wo überprüfen soll...
2+2=5 (for large values of 2)
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4
  Alt 9. Apr 2003, 11:58
Hi,

in der USES - Liste ist eine Unit aufgeführt, die der Compiler nicht findet. Also ist zumindest eine DCU nicht vorhanden oder sie wird nicht gefunden. Also gehe mal hin und setze ein Panel auf die Form, compiliere das ganze und schau nach, ob der Fehler immer noch kommt.
Gruß
Hansa
  Mit Zitat antworten Zitat
Hellcat

Registriert seit: 27. Feb 2003
60 Beiträge
 
Delphi 6 Personal
 
#5
  Alt 9. Apr 2003, 12:21
Nein, auch mit Panel kommt die Fehlermeldung...und die DCUs sind auch alle vorhanden...waren kann es dann liegen?
2+2=5 (for large values of 2)
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6
  Alt 9. Apr 2003, 12:28
hehe,

wie befürchtet. Da ist ein Pfad bei den Projekt-Optionen falsch gesetzt, mehr nicht. Zieh mal einen Button auf eine neue Form und compiliere. Dann kommt der Fehler vermutlich auch.
Gruß
Hansa
  Mit Zitat antworten Zitat
Haegar

Registriert seit: 10. Dez 2002
Ort: Peitz
319 Beiträge
 
Delphi 7 Professional
 
#7
  Alt 9. Apr 2003, 12:30
hi,
kann das sein, das er damit ein problem hat, das sich vielleicht kein Panel auf der MainForm befindet?
with Application.MainForm.FindComponent ('PanHalle' + InttoStr(i))as TPanel do gruss haegar
  Mit Zitat antworten Zitat
Hellcat

Registriert seit: 27. Feb 2003
60 Beiträge
 
Delphi 6 Personal
 
#8
  Alt 9. Apr 2003, 13:35
Nein, interessanter Weise passiert das nicht wenn ich einen neuen Button auf der MainForm (auf der sich nicht nur ein Panel, sondern gleich 40 befinden...@haegar) aufziehe
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 13:08 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