AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Lazarus (IDE) Netzwerkabbrüche oder Programm schließt sich einfach
Thema durchsuchen
Ansicht
Themen-Optionen

Netzwerkabbrüche oder Programm schließt sich einfach

Ein Thema von Matthias LE · begonnen am 2. Jul 2018 · letzter Beitrag vom 6. Jul 2018
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Matthias LE

Registriert seit: 2. Jul 2018
16 Beiträge
 
#1

Netzwerkabbrüche oder Programm schließt sich einfach

  Alt 2. Jul 2018, 12:52
Hallo liebe Community,

weiß kein Rat. Habe mehrere Anwendungen in Lazarus geschrieben. Mein Problem ist, sobald ich diese Tools auf ein Laufwerk im Netzwerk lege und von dort aus auf den Clients verknüpfe (also die Anwendungs.exe) habe ich das Problem, das es öfters mal vorkommt das sich das Programm einfach so schließt.

Woran kann das liegen bzw. wie kann man sowas abfangen?

Danke im voraus.
Matthias
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Netzwerkabbrüche oder Programm schließt sich einfach

  Alt 2. Jul 2018, 12:57
Falls Lazarus auch PEFlags setzen kann, Versuche das hier in deiner .dpr Datei einzufügen:
Delphi-Quellcode:
//0x0400 IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP If the image is on removable media, copy and run from the swap file.
//0x0800 IMAGE_FILE_NET_RUN_FROM_SWAP If the image is on the network, copy and run from the swap file.
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP}
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Matthias LE

Registriert seit: 2. Jul 2018
16 Beiträge
 
#3

AW: Netzwerkabbrüche oder Programm schließt sich einfach

  Alt 2. Jul 2018, 13:02
Vielen Dank KodeZwerg

muss gestehen, das ich scheinbar nicht genug Ahnung habe um das umzusetzen was du als Lösung geschrieben hast.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Netzwerkabbrüche oder Programm schließt sich einfach

  Alt 2. Jul 2018, 13:10
Ich bin ungeeignet um eine Antwort zu geben die sich auf Lazarus beschränkt aber in Delphi Worten erkläre ich es Dir gerne.
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP} ist eine Direktive.
Eine Anweisung an den Compiler etwas spezielles in die .exe Datei zu schreiben.
Dieses spezielle ist in diesem Fall IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP und IMAGE_FILE_NET_RUN_FROM_SWAP.
Das Bewirkt das die .exe Datei beim start voll in den Speicher geladen wird, das sollte Abstürze über Netzlaufwerke verhindern.

Die .dpr Datei ist in Delphi die Projekt-Datei mit der alles beginnt.

Ich hoffe es ist verständlich.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Matthias LE

Registriert seit: 2. Jul 2018
16 Beiträge
 
#5

AW: Netzwerkabbrüche oder Programm schließt sich einfach

  Alt 2. Jul 2018, 13:21
bei Lazarus müsste das dann die .lpr sein, würde ich sagen. Kann ich das direkt in die Datei schreiben?

program project1;

{$mode objfpc}{$H+}

uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, datetimectrls, printer4lazarus, Unit1, Unit2, Unit3, Unit4, Unit5,
Unit6, Unit7, Unit8, Unit9, Unit10, Unit11, Unit12, Unit13, Unit14
{ you can add units after this };

{$R *.res}

begin
RequireDerivedFormResource := True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TForm4, Form4);
Application.CreateForm(TForm5, Form5);
Application.CreateForm(TForm6, Form6);
Application.CreateForm(TForm7, Form7);
Application.CreateForm(TForm8, Form8);
Application.CreateForm(TForm9, Form9);
Application.CreateForm(TForm10, Form10);
Application.CreateForm(TForm11, Form11);
Application.CreateForm(TForm12, Form12);
Application.CreateForm(TForm13, Form13);
Application.CreateForm(TForm14, Form14);
Application.Run;
end.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Netzwerkabbrüche oder Programm schließt sich einfach

  Alt 2. Jul 2018, 13:26
Das ist schonmal die korrekte Datei! Es kann sein das Du bei uses noch "Windows" einbinden musst für die deklaration der Flags, ansonsten passt es so.
Delphi-Quellcode:
...

uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, datetimectrls, printer4lazarus, Unit1, Unit2, Unit3, Unit4, Unit5,
Unit6, Unit7, Unit8, Unit9, Unit10, Unit11, Unit12, Unit13, Unit14
{ you can add units after this };

{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP}

...

edit
Beim zweiten mal raufschauen was Du da in uses lädst, ist Dein Ziel-System Windows?
Mein tipp gilt nur für Windows Anwendungen!
Gruß vom KodeZwerg

Geändert von KodeZwerg ( 2. Jul 2018 um 13:35 Uhr)
  Mit Zitat antworten Zitat
Matthias LE

Registriert seit: 2. Jul 2018
16 Beiträge
 
#7

AW: Netzwerkabbrüche oder Programm schließt sich einfach

  Alt 2. Jul 2018, 13:35
Fehlermeldung - {$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP} project1.lpr(19,2) Error: Identifier not found "IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP"

Nutze ich nur {$SetPEFlags} kompiliert Lazarus erfolgreich.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Netzwerkabbrüche oder Programm schließt sich einfach

  Alt 2. Jul 2018, 13:40
Es ist nicht ratsam aber man kann es auch so machen: {$SetPEFlags $400 or $800} Das gilt nur für Windows-Anwendungen!
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Matthias LE

Registriert seit: 2. Jul 2018
16 Beiträge
 
#9

AW: Netzwerkabbrüche oder Programm schließt sich einfach

  Alt 2. Jul 2018, 13:50
es funktioniert. Ab jetzt beobachten wie sich die Programme so verhalten im Netzwerk.

Vielen Dank bis hierher. Ich melde mich, falls es noch nicht reicht.

Edit: ich lasse das Topic hier noch offen
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Netzwerkabbrüche oder Programm schließt sich einfach

  Alt 2. Jul 2018, 14:00
Da ich noch keine Antwort auf meine Frage ob Ziel-System Windows ist habe ich hier eine Limitation dafür eingebaut.
Ich würde es vielleicht so machen:
Delphi-Quellcode:
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
{$IFDEF Windows}
Windows,
{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, datetimectrls, printer4lazarus, Unit1, Unit2, Unit3, Unit4, Unit5,
Unit6, Unit7, Unit8, Unit9, Unit10, Unit11, Unit12, Unit13, Unit14
{ you can add units after this };

{$IFDEF Windows}
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP or IMAGE_FILE_NET_RUN_FROM_SWAP}
{$ENDIF}
So wäre es vielleicht die sicherere Methode? Entscheide Du!
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 04:35 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