Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wieso öffnet mein Prg die DB nicht (https://www.delphipraxis.net/213512-wieso-oeffnet-mein-prg-die-db-nicht.html)

wschrabi 10. Aug 2023 07:36


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:
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;
Woran kann das liegen? Ich denke am Defender, doch wo schaltet man darin eine AUSNAHME zum NICHT-BLOCKEN.
DANKE

TigerLilly 10. Aug 2023 08:20

AW: Wieso öffnet mein Prg die DB nicht
 
Wenn die Routine hier nicht ausgeführt wird, solltest du den Code herzeigen, der sie aufruft.

Blup 10. Aug 2023 08:27

AW: Wieso öffnet mein Prg die DB nicht
 
Vermutlich liegt das dann am Firewall:
https://www.heise.de/tipps-tricks/Windows-Ausnahmen-zur-Firewall-hinzufuegen-4286486.html

wschrabi 10. Aug 2023 09:34

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

wschrabi 10. Aug 2023 09:38

AW: Wieso öffnet mein Prg die DB nicht
 
Zitat:

Zitat von TigerLilly (Beitrag 1525460)
Wenn die Routine hier nicht ausgeführt wird, solltest du den Code herzeigen, der sie aufruft.

Der code oben, und da ist es mit Beforeconnect. in Firedac mit SqlLite.
Aber auf den anderen 2 PC klappt es ja - der selbe CODE. Muss was mit Defender haben

wschrabi 10. Aug 2023 09:58

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

TurboMagic 10. Aug 2023 20:52

AW: Wieso öffnet mein Prg die DB nicht
 
Tipp:

Statt:
Delphi-Quellcode:
dbfilename := TPath.GetDocumentsPath + PathDelim + 'dbSample.db';
das benutzen:

Delphi-Quellcode:
dbfilename := TPath.Combine(TPath.GetDocumentsPath, 'dbSample.db');
Grüße
TurboMagic

himitsu 10. Aug 2023 21:41

AW: Wieso öffnet mein Prg die DB nicht
 
Und statt
Delphi-Quellcode:
ExtractFilePath(Application.ExeName)
aka
Delphi-Quellcode:
ExtractFilePath(ParamStr(0))
ein
Delphi-Quellcode:
TPath.GetLibraryPath
.


Falls das Programm installiert wird, wäre das Programmverzeichnis auch kein guter Ort. (also maximal nur was für PortableApps)

wschrabi 11. Aug 2023 07:10

AW: Wieso öffnet mein Prg die DB nicht
 
Ich bedanke mich an beide guten TIPPS. :)

TomyN 13. Aug 2023 19:53

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:43 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz