Registriert seit: 27. Feb 2003
60 Beiträge
Delphi 6 Personal
|
Class TPanel not found
9. Apr 2003, 10: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 = '0' then 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 <> '-1' then 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)
|
|
Zitat
|