![]() |
Wieso öffnet mein Prg die DB nicht
Hallo
vielleicht paßt es hier nicht ganz rein, doch ich weiß nicht weiter: Also ich habe 3 PCS: 1) PC mit WIN 10 mit f-Secure auf dem ich Entwickle und da Lauft das PRG gut. 2) PC mit F-Secure und WIN 11 da funktioniert es auch 3) PC mit WIN 11 mit Defender (auch als Admin) doch da macht er die DB nicht auf. auf PC 3) wird nicht die Routine hier angesprungen, weil kein Msg Window aufpoppt.
Delphi-Quellcode:
Woran kann das liegen? Ich denke am Defender, doch wo schaltet man darin eine AUSNAHME zum NICHT-BLOCKEN.
procedure TDM.ConnBeforeConnect(Sender: TObject);
var dbfilename: string; begin dbfilename:=ExtractFilepath(Application.ExeName)+ 'dbSample.db'; {$IF DEFINED (ANDROID)} dbfilename := TPath.GetDocumentsPath + PathDelim + 'dbSample.db'; {$ENDIF} if not(FIleexists(dbfilename)) then begin ShowMessage(Format('Could not find DB filename: %s',[dbfilename])); end else begin ShowMessage(Format('DB filename: %s',[dbfilename])); Conn.Params.Values['Database'] := dbfilename; //ExtractFilepath(Application.ExeName)+ 'dbSample.db'; end; end; DANKE |
AW: Wieso öffnet mein Prg die DB nicht
Wenn die Routine hier nicht ausgeführt wird, solltest du den Code herzeigen, der sie aufruft.
|
AW: Wieso öffnet mein Prg die DB nicht
Vermutlich liegt das dann am Firewall:
![]() |
AW: Wieso öffnet mein Prg die DB nicht
ja das kann sein, die Firewall. Aber SQlite greift ja nicht über einen TCPIP Port zu sondern über FireDac und File.
Aber es klappt an den anderen 2 PCs. Es liegt nicht am CODE, sondern an dem PC - ich denke am Defender, weil bei den anderen 2 habe ich defender deaktiviert und nur F-Secure laufen als Schutz. dANKE |
AW: Wieso öffnet mein Prg die DB nicht
Zitat:
Aber auf den anderen 2 PC klappt es ja - der selbe CODE. Muss was mit Defender haben |
AW: Wieso öffnet mein Prg die DB nicht
Also ich hab die Lösung:
- wenn ich das File vom meinem SERVER auf die eine Organisation als verschl. ZIP lade und am PC entpacke funktioniert es. - wenn ich das File von meinem Server auf die gleiche Organisation als EXE sauge dann wird die DB nicht geöffnet. - wenn ich das File von meinem Server auf eine andere Organisation als EXE sauge, dann klappt es wieder. das heißt, die eine Organisation scant EXEs und unterbindet dann den Zugriff auf die DB. Wobei die Filesize gleich bleibt. Sehr seltsam. DANKE |
AW: Wieso öffnet mein Prg die DB nicht
Tipp:
Statt:
Delphi-Quellcode:
das benutzen:
dbfilename := TPath.GetDocumentsPath + PathDelim + 'dbSample.db';
Delphi-Quellcode:
Grüße
dbfilename := TPath.Combine(TPath.GetDocumentsPath, 'dbSample.db');
TurboMagic |
AW: Wieso öffnet mein Prg die DB nicht
Und statt
Delphi-Quellcode:
aka
ExtractFilePath(Application.ExeName)
Delphi-Quellcode:
ein
ExtractFilePath(ParamStr(0))
Delphi-Quellcode:
.
TPath.GetLibraryPath
Falls das Programm installiert wird, wäre das Programmverzeichnis auch kein guter Ort. (also maximal nur was für PortableApps) |
AW: Wieso öffnet mein Prg die DB nicht
Ich bedanke mich an beide guten TIPPS. :)
|
AW: Wieso öffnet mein Prg die DB nicht
Schreibzugriff auf Dateien im Programmbereich mag windows schon lange nicht mehr.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:13 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