AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Windows 8.1 Pro mit Firbird 2.5.3
Thema durchsuchen
Ansicht
Themen-Optionen

Windows 8.1 Pro mit Firbird 2.5.3

Ein Thema von Walter Landwehr · begonnen am 21. Feb 2015 · letzter Beitrag vom 17. Apr 2015
Antwort Antwort
Walter Landwehr

Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
405 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Windows 8.1 Pro mit Firbird 2.5.3

  Alt 10. Mär 2015, 11:16
So habe jetzt einiges Umgebaut, die Anwendung läuft wieder aber beim verlassen auf den Windows 8 Rechnern kommt diese Meldung:

Exception EAccessViolation in Modul NatuPrax.exe bei 0000399D. Zugriffverletzung bei Adresse 0040399D im Modul NatuPrax.exe. Schreiben von Adresse 00000000:

Leider kann man nicht Debuggern, denn nach dem letzten Befehl in der Procdedure
Delphi-Quellcode:
procedure TdmMain.BeforeDestruction;
begin
   // hier das DisConnect
  ibqryOptionen.Close;
  MandantQry.Close;
  if ibconNatuprax_Next.connected = True then
  begin
    ibconNatuprax_Next.CloseTransactions;
    ibconNatuprax_Next.DeallocateStatements;
    ibconNatuprax_Next.Disconnect;
  end;
  if ibconMedikament.connected = True then
  begin
    ibconMedikament.CloseTransactions;
    ibconMedikament.DeallocateStatements;
    ibconMedikament.Disconnect;
  end;
  if ibconMain.Connected then
  begin
    ibconMain.CloseTransactions;
    ibconMain.DeallocateStatements;
    ibconMain.Disconnect;
  end;
  if ibconData.connected = True then
  begin
    ibconData.CloseTransactions;
    ibconData.DeallocateStatements;
    ibconData.Disconnect;
  end;
  inherited;
end;
kommt ja nichts mehr. Die Meldung kommt nach ca.4 sec. und NatuPrax bleibt im Task.

Nun bin ich mit meinem Latein am Ende und schier verzweifelt.
Walter Landwehr
Mfg

Walter
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.879 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Windows 8.1 Pro mit Firbird 2.5.3

  Alt 10. Mär 2015, 11:32
Dann greifts Du auf etwas zu, was schon nicht mehr existiert.

Btw. Prüfe einen Boolean nie auf True
es reicht:

if ibconMedikament.connected then
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von TRomano
TRomano

Registriert seit: 24. Nov 2004
Ort: Düsseldorf
195 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Windows 8.1 Pro mit Firbird 2.5.3

  Alt 10. Mär 2015, 12:00
Vielleicht solltest Du derart Prüfen, wenn Du dir nicht sicher bist, ob die verwendeten Objekte noch existieren:

Delphi-Quellcode:
if Assigned(ibconNatuprax_Next) and ibconNatuprax_Next.connected then begin
   // ... mache irgend etwas mit [B]ibconNatuprax_Next[/B]
end;
Thomas Forget
  Mit Zitat antworten Zitat
Benutzerbild von FBrust
FBrust

Registriert seit: 4. Okt 2002
Ort: Saarbrücken
654 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Windows 8.1 Pro mit Firbird 2.5.3

  Alt 10. Mär 2015, 14:45
Hallo,

wenn ich das richtig sehe, führst Du das Disconnect im Datenmodul (dmMain) durch.

Hast Du mal versucht, das Disconnect im OnClose-Ereignis Deines Hauptformulars zu machen?


Gruß
Frank
"Ich habe Dinge gesehen, die ihr Menschen niemals glauben würdet. Gigantische Schiffe, die brannten, draußen vor der Schulter des Orion" - Roy Batty
  Mit Zitat antworten Zitat
Walter Landwehr

Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
405 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Windows 8.1 Pro mit Firbird 2.5.3

  Alt 10. Mär 2015, 15:11
Ja habe ich auch schon versucht. Bringt aber nichts.

Ich habe es soweit das keine Schutzverletzung mehr kommt sondern Windows 8.1 Rechner melden beim Schließen des Programms.

NatuPrax.exe funktioniert nicht mehr.
Das Programm wird aufgrund eines Problems nicht richtig ausgeführt. Das Programm wird geschlossen und Sie werden benachrichtigt, wenn eine Lösung verfügbar ist.

Im Anhang nochmals mein veränderter Code.
Angehängte Dateien
Dateityp: zip NatuPrax 9.zip (22,0 KB, 7x aufgerufen)
Walter Landwehr
Mfg

Walter
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.879 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Windows 8.1 Pro mit Firbird 2.5.3

  Alt 10. Mär 2015, 15:36
Wie soll das ohne erzeugtes Datenmodul funktionieren?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.361 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Windows 8.1 Pro mit Firbird 2.5.3

  Alt 10. Mär 2015, 16:13
Wie soll das ohne erzeugtes Datenmodul funktionieren?
Er erzeugt es doch:
Delphi-Quellcode:
function dmMain: TdmMain;
begin
   if FdmMain = nil then
   begin
     FdmMain := TdmMain.Create(Application);
     FdmMain.AfterConstruction;
   end;
   Result := FdmMain;
end;
Walter,
AfterConstruction musst du nicht aufrufen, du vererbst diese Methode und diese wird nach dem Erzeugen automatisch aufgerufen.
Also nimm das raus. Macht zwar nichts (glaub ich), aber ist Quatsch.

Frank
Frank Reim

Geändert von dataspider (10. Mär 2015 um 16:16 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von TRomano
TRomano

Registriert seit: 24. Nov 2004
Ort: Düsseldorf
195 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Windows 8.1 Pro mit Firbird 2.5.3

  Alt 10. Mär 2015, 15:37
Auf die Schnelle waren die Quellen nicht so gut zu verstehen. Vielleicht solltest Du ein TDataModule dafür benutzen, wofür es geschaffen wurde: zum Anlegen der Connections, der Tables/Queries, der Transactions und ein paar grundsätzlicher (Datenbank-) Funktionen.
In der DPR vermisse ich das Erzeugen des Datenmoduls (ist auskommentiert) und in jenem gibt es eine Funktion zum Erzeugen der MainForm ?
Wie schon einige Andere geschrieben hatten würde ich das Datenmodul vor der Mainform erzeugen, dort die Verbindung zur DB herstellen und auch beim Schließen der Applikation wieder kappen. Damit solltest Du die Kontrolle behalten. Das Login-Formular bindest Du in die Mainform ein, da ich davon ausgehe, dass Du dort einen Button (oder was auch immer) zum Connecten hast. So lange "leben" auch alle deine Module und Du hast weniger Probleme mit AV´s ....
Thomas Forget
  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 03:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz