Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Fehlermeldung Externe Exception (https://www.delphipraxis.net/195950-fehlermeldung-externe-exception.html)

zeras 10. Apr 2018 19:16

Fehlermeldung Externe Exception
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

auf Arbeit nutzen wir ein Programm, was ich geschrieben habe. Dieses liegt auf einem Netzwerkpfad und jeder kann es von dort starten.
Nun kommt es bei einem User zu angehängter Meldung:

Beim Starten dieser Funktionalität wird ein anderer Netzpfad nach Dateien durchsucht. Die gefundenen Dateien werden dann sortiert.
Diese Exception werfe ich nicht. Jedenfalls ist der angezeigte Text in meinem Projekt nicht enthalten.
Was kann ich tun?
Die Quellen habe ich nur zu Hause und kann daher schlecht debuggen. Außerdem läuft es auf meinem Rechner auf Arbeit auch ohne Probleme.

hoika 10. Apr 2018 19:57

AW: Fehlermeldung Externe Exception
 
Hallo,
https://stackoverflow.com/questions/...ption-c0000006

zeras 10. Apr 2018 20:11

AW: Fehlermeldung Externe Exception
 
Zitat:

Zitat von hoika (Beitrag 1398677)

Danke für den Link.

Werde ich dieser Tage genauer durchlesen, was das zu bedeuten hat.
Vielleicht reicht ja die Compilerdirective.
Bis jetzt meldet nur 1 User das Problem, obwohl es von mehreren Usern genutzt wird.

hoika 10. Apr 2018 20:28

AW: Fehlermeldung Externe Exception
 
Hallo,
der Fehler tritt auf, wenn:
- Nutzer 1 öffnet die Exe
- Nutzer 2 öffnet die Exe
- Nutzer 1 schließt die Exe
- Nutzer 2 schließt die Exe
-> Fehlermeldung

Die Netzwerkschnittstelle des Servers hat einen Fehler,
dass das Handle der Datei auf dem Server freigegeben wird beim Beenden des Programms durch Nutzer 1, obwohl Nutzer 2 die Datei noch offen hat.

Diese SETPE-Zeug im Link verhindert das. Da wird beim Öffnen der Exe ein spezielles Flag gesetzt.

zeras 10. Apr 2018 21:51

AW: Fehlermeldung Externe Exception
 
Zitat:

Zitat von hoika (Beitrag 1398679)

Die Netzwerkschnittstelle des Servers hat einen Fehler,
dass das Handle der Datei auf dem Server freigegeben wird beim Beenden des Programms durch Nutzer 1, obwohl Nutzer 2 die Datei noch offen hat.

Das heißt, unsere IT müsste etwas ändern oder hat gerade etwas geändert?
Bis jetzt hat das alles geklappt. Das Programm wird von mehreren Kollegen auf mehreren Rechnern gleichzeitig genutzt und bis jetzt hat keiner diesen Fehler berichtet.
Für den Pfad, wo die EXE liegt, habe nur ich Schreibrechte. Spielt das eine Rolle?

hoika 10. Apr 2018 22:32

AW: Fehlermeldung Externe Exception
 
Hallo,
die IT könnte einen Patch einspielen,
oder Du änderst Deine Exe entsprechend meinem Link..

Bbommel 11. Apr 2018 08:05

AW: Fehlermeldung Externe Exception
 
Hi zeras, ich kann bestätigen, dass das, was im Stackoverflow-Link von hoika steht, dir wahrscheinlich helfen wird. Wir haben auch ein Programm, das bei vielen unserer Kunden auf einem Netzlaufwerk ausgeführt wird, und sporadisch bekamen wir immer mal wieder von Kunden Fragen zu dieser C000006-Fehlermeldung. Ich hatte dann damals auch hier oder auf Stackoverflow den Hinweis zu dem Compiler-Flag gefunden, das umgesetzt und seitdem ist Ruhe. :-)

KodeZwerg 11. Apr 2018 13:28

AW: Fehlermeldung Externe Exception
 
Ich konnt so unbewusst ein USB Programm reparieren obwohl's nicht zum Thema gehört, Danke hoika.

zeras 11. Apr 2018 18:55

AW: Fehlermeldung Externe Exception
 
Danke für die Hinweise. Irgendwie klappt der Einbau nicht.
Ich habe das wie folgt in meine DPR Datei eingebaut:
Delphi-Quellcode:

program Test;

{$R *.dres}

uses WinApi.Windows,
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP}

//uses
  Forms,
  main in 'main.pas' {fMain},
  ABOUT in 'ABOUT.pas' {fAboutBox},
  settings in 'settings.pas' {fSettings},

.....
Es kommt immer die Meldung Undeklarierter Bezeichner.
Was fehlt mir noch zum Erfolg?

juergen 11. Apr 2018 19:15

AW: Fehlermeldung Externe Exception
 
Hallo zeras,

bei mir funktioniert es, wenn ich die beiden Flags
Delphi-Quellcode:
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP}
NACH dem Ende der Uses-Klausel setze.

zeras 11. Apr 2018 19:26

AW: Fehlermeldung Externe Exception
 
Danke für die Info.
Es fehlte noch das
Delphi-Quellcode:
Windows
in der use Klausel.
Dann kann ich morgen ja mal probieren.

KodeZwerg 11. Apr 2018 19:30

AW: Fehlermeldung Externe Exception
 
Pack's am besten direkt unter Zeile "program Test;"

Also:
Delphi-Quellcode:
program Test;
const
  IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP      = $0400; { If Image is on removable media, copy and run from the swap file. }
  IMAGE_FILE_NET_RUN_FROM_SWAP            = $0800; { If Image is on Net, copy and run from the swap file. }
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP}

{$R *.dres} // wirklich .dres?

uses dies, und, das;

himitsu 11. Apr 2018 22:50

AW: Fehlermeldung Externe Exception
 
Zitat:

NACH dem Ende der Uses-Klausel setze
Sollte eigentlich egal sein, wo es steht.

Es muß nur irgendwo in den Quellcode, damit es anschließend verwendet wird, wenn der Linker (nach dem Compiler) die EXE zusammenbaut.

zeras 12. Apr 2018 18:41

AW: Fehlermeldung Externe Exception
 
Danke,

ich musste noch Windows in die uses Klausel nehmen und dann ging es.
Dann noch schnell compiliert und heute testen lassen.
Bei dem Kollegen, der das Problem hatte, war dieses mit der neuen Version nicht mehr aufgetreten.
Wunderlich ist, dass wir das Programm schon fast 10 Jahre nutzen (immer wieder Neuerungen eingebaut) und bisher niemand das Problem berichtete.
Aber was solls, jetzt läuft es dank eurer Hilfe.

hoika 12. Apr 2018 18:58

AW: Fehlermeldung Externe Exception
 
Hallo,
das ist ja auch ein Bug von Windows.

Ich hatte auf Arbeit auch ein Programm für die Firma geschrieben.
Das lief wunderbar, solange jeder es auf seinem Rechner hatte.

Dann auf den Server gelegt und der Ärger ging los.


Da kannst Du mal sehen, was das hier für ein tolles Forum ist ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:31 Uhr.

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