Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   StreamOpen (TOpenDialog) beendet die Anwendung (https://www.delphipraxis.net/175509-streamopen-topendialog-beendet-die-anwendung.html)

EWeiss 28. Jun 2013 17:08

AW: StreamOpen (TOpenDialog) beendet die Anwendung
 
Zitat:

Wenn du gar kein Interesse an einer Lösung hast, dann können wir dir auch nicht helfen.
Wenn da kein Interesse beständ hätte ich mir den Thread sparen können.
Nur lustig das ich mit VB6, gerade extra nochmal getestet, den System Dialog aufrufen kann ohne das die IDE den geist aufgibt.

Werde dann wohl speziell was diese Anwendung angeht
lieber auf C# zurückgreifen wenn ich diverse Dinge debuggen muss. (Das ist eine lösung)
Mein System umkrempeln wegen einer IDE die nicht funktioniert werde ich auf gar keinen Fall!
Das ist auch keine lösung..

gruss

jaenicke 28. Jun 2013 20:05

AW: StreamOpen (TOpenDialog) beendet die Anwendung
 
Wir haben im Büro ja auch monatelang das Problem gehabt. Irgendwann hatte ich keine Lust mehr und habe mich ein paar Stunden hingesetzt und debuggt. Dabei habe ich dann herausgefunden, dass es an TeamViewer 6 lag. (Der Support hat mir dann auch den Tipp gegeben, dass es am Quick Connect Button liegen könnte.)

Jedenfalls gibt es sehr viele Möglichkeiten woran es liegen kann.

Wenn du weißt, dass das Problem neu ist, wäre es vielleicht am sinnvollsten das letzte Backup zurückzuspielen, wenn das Problem da noch nicht bestand.

EWeiss 28. Jun 2013 22:34

AW: StreamOpen (TOpenDialog) beendet die Anwendung
 
Hab das problem gefunden.
Aber ist nicht so einfach zu erklären warum das auftritt.

Wenn ich beim Einlesen der DLL's diese nach der prüfung des Einsprungspunkt
wieder freigebe (sollte eigentlich normal sein) tritt der wie hier im Thread genannte Fehler auf.

Gebe ich sie nicht frei!
Dann funktionieren alle Dialoge habe aber dann andere schwierigkeiten die nicht auftreten
wenn die Libraries ordnungsgemäß freigegeben werden.

gruss

jaenicke 29. Jun 2013 07:26

AW: StreamOpen (TOpenDialog) beendet die Anwendung
 
Beim Entladen der DLLs werden auch deren Entladeroutinen ausgeführt sofern die DLL nicht noch anderweitig im Programm benutzt wird. Vielleicht passiert da etwas, was das verursacht.
Dass zu jedem LoadLibrary genau ein FreeLibrary existiert, hast du ja sicher schon sichergestellt, oder? (Das war mein Problem in einer Anwendung einmal.)

EWeiss 29. Jun 2013 15:17

AW: StreamOpen (TOpenDialog) beendet die Anwendung
 
Zitat:

Zitat von jaenicke (Beitrag 1220008)
Beim Entladen der DLLs werden auch deren Entladeroutinen ausgeführt sofern die DLL nicht noch anderweitig im Programm benutzt wird. Vielleicht passiert da etwas, was das verursacht.
Dass zu jedem LoadLibrary genau ein FreeLibrary existiert, hast du ja sicher schon sichergestellt, oder? (Das war mein Problem in einer Anwendung einmal.)

Delphi-Quellcode:
//Prüfroutine für Winamp-Plugins
function IsWinampPlugin(APlugin:string):BOOL;
var
  ext : string;
  dll : HMODULE;

begin
  result := FALSE;
  ext   := uppercase(ExtractFileExt(APlugin));

  if (ext <> '.DLL') then
    exit;

  dll := LoadLibrary(PWideChar(APlugin));
  if (dll = 0) then
    exit;

  if GetProcAddress(Dll, 'winampVisGetHeader') = nil then
  begin
    FreeLibrary(dll);
    exit;
  end;
  FreeLibrary(dll);

  result := TRUE;
end;
Ich suche recursive nach DLL's im Ordner wird eine gefunden und der Einsprungspunkt fehlt wird sie entladen.
Natürlich auch wenn er gefunden wird.

Das sollte eigentlich der richtige weg sein.
So funktioniert acuh mein Programm 100% als eigenständige EXE aber nicht in der IDE(Laden von Dateien) usw..
Entferne ich das letzte FreeLibrary dann funktioniert die IDE 100% aber die Anwendung nicht mehr bei diversen dingen.

gruss

EWeiss 29. Jun 2013 15:59

AW: StreamOpen (TOpenDialog) beendet die Anwendung
 
Falls es mal jemand testen will..
Habe es mal angehangen.

Projekt laden alle Plugins durchgehen bis der moment kommt wo
die Anwendung in der IDE sich ohne irgendeine Meldung verabschiedet.

Danach das ganze als eigenständige EXE nochmal testen.
In D2010 beendet die IDE(bzw. das Programm) würde mich mal interessieren ob es auch bei anderen Versionen so ist.

gruss

jaenicke 29. Jun 2013 17:17

AW: StreamOpen (TOpenDialog) beendet die Anwendung
 
Auf meinem PC funktioniert alles problemlos, ich kann die Pluginliste durchklicken, den Dateidialog unten rechts öffnen, alles. Ich habe es mit Delphi 2010 unter Windows 8 64-Bit getestet.

EWeiss 29. Jun 2013 17:28

AW: StreamOpen (TOpenDialog) beendet die Anwendung
 
Zitat:

Zitat von jaenicke (Beitrag 1220068)
Auf meinem PC funktioniert alles problemlos, ich kann die Pluginliste durchklicken, den Dateidialog unten rechts öffnen, alles. Ich habe es mit Delphi 2010 unter Windows 8 64-Bit getestet.

Win8 hab ich nicht dürfte aber keine rolle spielen ob 7 oder 8


Danke.. Das begreife ich einfach nicht :oops:
Ich hab alles ausgeschaltet mit dem Tool hier Autoruns hat alles nichts gebracht.
Vielleicht mal den AVG deaktivieren ausschalten kann man den ja nicht so einfach.
.. nö bringt auch nix.

Da bekomme ich langsam die krise.. :pale:

Danke für das testen so weiss ich wenigstens das mein Wrapper auch unter W8 läuft.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:27 Uhr.
Seite 3 von 3     123   

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