[Erledigt] TForm schließt plötzlich automatisch und beendet

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut

[Erledigt] TForm schließt plötzlich automatisch und beendet

Beitragvon ManniSt » 17. Nov 2019, 11:52 [Erledigt] TForm schließt plötzlich automatisch und beendet

Seit gestern schließt mein Hauptformular automatisch, nachdem es kurz aufgeblinkt hat. Ich bin mir keiner Änderung daran bewußt.
Wer kann mir helfen???

Hauptprog

program WinFib;

{$mode objfpc}{$H+}

uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset

Forms, u_winfib_main, u_menu, u_journueber, u_firma, u_speichern, u_reorg,
u_journal, u_neuindiz, u_saldendebitoren, u_saldenkreditoren, u_buchen,
u_saldensachkonten, u_debikontoblatt, datetimectrls, u_winfib_common,
u_Kredkontoblatt, u_sachkontoblatt, u_verzdebi, u_verzkredi, u_frage_satz_loeschen,
u_verzsach;


{$R *.res}
// {$R winfib.rc}

begin
RequireDerivedFormResource:=True;
Application.Scaled:=True;
Application.Initialize;
// Diese Form wird nach dem Aufruf wieder geschlossen und das Prog wird automatisch beendet
Application.CreateForm(TF_Start, F_Start);

Application.CreateForm(TF_Menu, F_Menu);
//*** Die nachflogenden Formulare werden während der Laufzeit erzeugt
// Application.CreateForm(TF_Speichern, F_Speichern);
// Application.CreateForm(TF_Firma, F_Firma);
// Application.CreateForm(TF_JournUeber, F_JournUeber);
// Application.CreateForm(TF_Steuersaetze, F_Steuersaetze);
// Application.CreateForm(TF_Reorg, F_Reorg);
// Application.CreateForm(TF_Journal, F_Journal);
// Application.CreateForm(TF_NeuIndiz, F_NeuIndiz);
// Application.CreateForm(TF_SaldenDebitoren, F_SaldenDebitoren);
// Application.CreateForm(TF_SaldenKreditoren, F_SaldenKreditoren);
// Application.CreateForm(TF_SaldenSachkonten, F_SaldenSachkonten);
// Application.CreateForm(TF_DebiKontoblatt, F_DebiKontoblatt);
// Application.CreateForm(TF_Buchen, F_Buchen);
// Application.CreateForm(TF_KredKontoBlatt, F_KredKontBlatt);
// Application.CreateForm(TF_SachKontoBlatt, F_SachKontoBlatt);
// Application.CreateForm(TF_VerzDebi, F_VerzDebi);
// Application.CreateForm(TF_FrageSatzLoeschen, F_FrageSatzLoeschen);
// Application.CreateForm(TF_VerzKredi, F_VerzDebi);
// Application.CreateForm(TF_VerzSach, F_VerzDebi); Application.Run;
end.
-------------------------------------------------
Hauptform

unit u_winfib_main;

{$mode objfpc}{$H+}

interface

uses
Crt, Classes, SysUtils, Forms, Controls, Graphics,Dialogs,StdCtrls, DateUtils,
u_winfib_common, fileutil, DateTimePicker, u_menu, db, dbf;

type
{ TF_Start }

TF_Start = class(TForm)
Btn_WinFibStart: TButton;
Dsc_WinFibInit: TDataSource;
WinFibInit: TDbf;
DTP_BuchDat: TDateTimePicker;
Dsc_FibuConf: TDataSource;
Lbl_BuchDat: TLabel;
Lbl_Author: TLabel;
Lbl_Version: TLabel;
Lbl_Titel : TLabel;
procedure Btn_WinFibStartClick(Sender: TObject);
procedure DTP_BuchDatChange(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormResize(Sender: TObject);

end;

var
F_Start : TF_Start;
TextHilf : string; // Texthilfsvariable
MEnde : boolean; // Ende oder nicht

implementation

{$R *.lfm}

{ TF_Start }

//***********************************
//* Form Aktiviert
//*

procedure TF_Start.FormActivate(Sender: TObject);

var
MEnde : boolean = false;

begin
WinFibIni; // Ini-Variable lesen aus u_winfib_common

// BlaBlaBlub... Hier steht einiger Code, der bisher gut funktioniert hat

// Bei showmessage wird die Form, auch mit dem Start-Button korrekt dargestellt

showmessage('Halt');

// Nach dem Ende von showmessage springt das Prog aber direkt zum begin dieser procedure zurück, anschließend auf end
// und dann landet alles in
// customform.inc-> procedure TCustomForm.Activate->procedure TCustomForm.CMActivate->
// Assembler->procedure TCustomForm.CMActivate
// und das Prog endet

end; // procedure TF_Start.FormActivate

//*******************

end.
Zuletzt geändert von ManniSt am 17. Nov 2019, 12:49, insgesamt 1-mal geändert.
ManniSt
 
Beiträge: 6
Registriert: 16. Okt 2019, 14:13

Beitragvon wp_xyz » 17. Nov 2019, 12:03 Re: TForm schließt plötzlich automatisch und beendet Prog

Es wäre besser, wenn du im Anhang das übersetzbare Projekt hochladen würdest. So gibt es wieder die üblichen Fragen. Z.B.: Ist der Quelltext richtig hier herein-kopiert? Ich vermisse in der Projektdatei das Application.Run. Aber ohne dieses sollte das FormActivate-Ereignis gar nicht mehr erzeugt werden. Also: irgendwas ist faul an den Angaben.

(Bitte beim Hochladen von Projekten darauf achten, dass alle benötigten Dateien vorhanden sind. Exe und andere vom Compiler erzeugte Dateien sind nicht nötig. Daher nur alle pas, lfm, lpi and lpr Dateien (sowie evtl. Daten-Dateien) in ein zip packen, das die Forumssoftware als Anhang akzeptiert. Und du erleichterst uns die Fehlersuche erheblich, wenn alle unnötigen Features entfernt sind.)
wp_xyz
 
Beiträge: 3072
Registriert: 8. Apr 2011, 08:01

Beitragvon ManniSt » 17. Nov 2019, 12:08 Re: TForm schließt plötzlich automatisch und beendet Prog

Danke für den Hinweis!

Appplication.Run steht da nicht drinnen. Das Teil läuft ja auch so (siehe Quellcode-unit u_winfib_main). Die Form wird ja auch angezeigt (durch showmessage). Danach kommt das Ende.
ManniSt
 
Beiträge: 6
Registriert: 16. Okt 2019, 14:13

Beitragvon ManniSt » 17. Nov 2019, 12:17 Re: TForm schließt plötzlich automatisch und beendet Prog

Nochmal: Danke für den Hinweis mit Application.Run!!!!!!

Diese Zeile war in letzte Kommentarzeile des Hauptprog gerutscht. :( :roll:

Ich brauche wohl doch eine neue Brille ... :shock:
ManniSt
 
Beiträge: 6
Registriert: 16. Okt 2019, 14:13

Beitragvon wp_xyz » 17. Nov 2019, 12:46 Re: TForm schließt plötzlich automatisch und beendet Prog

Um Formulare von der automatischen Erzeugung auszuschließen, solltest du nicht die Projekt-Datei (*.lpr) editieren, sondern dies in den Projekt-Optionen vornehmen: "Projekt" > "Projekteinstellungen" > "Formulare" > alle Formulare in der linken Liste ("Automatisch erzeugte Formulare"), die nicht automatisch erzeugt werden sollen, markieren und mit Klick auf den Rechts-Pfeil in die rechte Liste "Verfügbare Formulare" verschieben.
wp_xyz
 
Beiträge: 3072
Registriert: 8. Apr 2011, 08:01

• Themenende •

Zurück zu Freepascal



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste

porpoises-institution
accuracy-worried