Ich habe eine Frage zur
procedure TForm2.FormCreate(Sender: TObject);
Ich lade in Form1 Vokabeln in das Programm.
In Form2 wird mit diesen Vokabeln in der Procedure FormCreate weitergearbeitet.
Konkret wird in der ComboBox1 ein bestimmter Ausdruck angegeben. Hier z.B. Fach-002
Code: Alles auswählen
ComboBox1.Items.AddObject ('Fach-002', TObject(2));
Dies brauche ich, um in der Abfrage der Vokabeln nur die abzufragen, die in diesem Fach sind.
---------------
Es gibt bei dieser Sache ein Problem:
ich habe wirklich lange Zeit nicht mehr an diesem Programm (oder überhaupt) programmiert. So das ich nicht mehr genau weiß, wie das Programm funktionierte.
Ich erinnere es so, das die procedure TForm2.FormCreate(Sender: TObject);
dann aufgerufen wird, wenn die Form2 mittels Form2.showmodal; aufgerufen wird.
Und das dann die Anweisungen durchgeführt werden.
Es ist jetzt so, das die TForm2.create in der project0028.lpr durchlaufen wird.
Code: Alles auswählen
RequireDerivedFormResource := True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TForm4, Form4);
Application.Run;
end.
D.h. aber, das das Laden der Vokabeln aus der Datei in Form1 nach der Form2.create stattfindet.
(Ich erinnere es auch so, das das Laden Vokabeln aus der Datei nicht in einer Form.Create abläuft. Funktionierte bei mir nicht.)
Kann das sein, das ich beim Speichern der Programm-Dateien (project0028; Unit0028.pas Unit0028_1.pas) unter neuem Namen in einen neuen Ordner etwas an der Einstellung der IDE verstellt hat?
Wie gesagt, das Programm lief schonmal vernünftig.
Anbei noch die Kopfzeilen der Dateien.
Datei project0028.lpr
Code: Alles auswählen
program project0028;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, Unit0028, unit0028_1, unit0028_2, unit0028_3
{ you can add units after this };
{$R *.res}
begin
RequireDerivedFormResource := True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TForm4, Form4);
Application.Run;
end.
Code: Alles auswählen
Unit Unit0028;
{$mode objfpc}{$H+}
interface
und dann irgendwann
implementation
{$R *.lfm}
In Unit0028_1.pas
Code: Alles auswählen
unit Unit0028_1;
{$mode objfpc}{$H+}
interface
dann irgendwann:
implementation
{$R *.lfm}
Es wäre nett wenn ihr mir helfen tut!
Danke!
Gruß!
idefix