Hallo,
so ich habe das ganze System jetzt mal auf einen Windows 8.1 pro installiert, da auf meinen Windows 7 keine Fehler kommen.
Hier mal mein Code in OnCloseQuery des Hauptformulars.
Delphi-Quellcode:
procedure TfrmMain.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
var int: Integer;
begin
inherited;
if TagesKalenderFrm <>
Nil then
TagesKalenderFrm.Close;
if not dmMain.MandantQry.Active
then
dmMain.MandantQry.Open;
if ((dmMain.MandantQry.FieldByName('
SICHERUNGSTAG').AsDateTime < Date)
and (Constants.User.UserName = dmMain.ibqryOptionen.FieldByName('
Sicherungsmann').AsString))
or
(dmMain.ibqryOptionen.FieldByName('
DATENSICHERUNG_ERZWINGEN').AsString = '
J')
then
begin
int := MessageDlg('
Eine Datensicherung wurde heute noch nicht durchgeführt.' + #13 +'
Möchten Sie jetzt sichern?', mtConfirmation, [mbYes, mbNo, mbCancel], 0);
// = mrYes then begin
if int = mrYes
then
begin
Datensicherung1Click(Self);
CanClose := true;
end;
if (int = mrCancel)
then
Abort;
end;
timMain.Enabled := False;
// dmMain.ibqryOptionen.Close;
// dmMain.MandantQry.Close;
// if dmMain.ibconNatuprax_Next.connected = True then
// dmMain.ibconNatuprax_Next.connected := False;
// if dmMain.ibconMedikament.connected = True then
// dmMain.ibconMedikament.connected := False;
// if dmMain.ibconMain.connected = True then
// dmMain.ibconMain.connected := False; // Hier kommt es direkt zu einem AV
// if dmMain.ibconData.connected = True then
// dmMain.ibconData.connected := False;
// dmMain.Free;
// dmMain := Nil;
// if dmMain.ibconMain.Connected = True then
// ShowMessage('On CloseQuery: Main ist connected');
end;
und hier mal die
Delphi-Quellcode:
procedure TfrmMain.FormDestroy(Sender: TObject);
begin
Inherited;
frmMain := Nil; // Hier kommt nach einiger Zeit die Meldung Runtime Error 217
end;
Weiß immer noch nicht wo der Fehler in meinem Code ist.
Bin auch gerne bereit Eure Leistung zu bezahlen, wenn nur dieser Fehler bald weg ist.