AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi LoadLibrary beendet mit Delphi 10.3 Application

LoadLibrary beendet mit Delphi 10.3 Application

Ein Thema von norwegen60 · begonnen am 13. Feb 2019 · letzter Beitrag vom 15. Feb 2019
Antwort Antwort
norwegen60

Registriert seit: 23. Dez 2007
271 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

LoadLibrary beendet mit Delphi 10.3 Application

  Alt 13. Feb 2019, 17:50
Hallo zusammen,

da ich mit 10.2 ziemliche Performance-Probleme in der IDE hatte habe ich jetzt auf Delphi 10.3 upgedatet. IDE ist wieder etwas schneller.

Auf einigen Rechnern arbeitet meine Anwendung einwandfrei. (Win10 und Win7). Auf zwei Rechnern (beide Win10 Pro) habe ich aber das Problem, dass die Anwendung ohne jegliche Rückmeldung beendet wird sobald ich über
Delphi-Quellcode:
ShowMessage('xxxx: LoadDll4 01');
  Result := GetModuleHandle(PWideChar(sDLL)); // prüfen ob DLL schon geladen

ShowMessage('xxxx: LoadDll4 02');
  if Result = 0 then
    Result := LoadLibrary(pWideChar(sDll)); // DLL dynamisch laden

ShowMessage('xxxx: LoadDll4 03');
eine DLL dynamisch lade.'xxxx: LoadDll4 02' wird noch angezeigt. Danach erscheint die Sanduhr und dann verschwindet die Anwendung aus dem Taskmanager.

Ich habe herausgefunden, dass einfache DLL auch auf diesen beiden Rechnern geladen werden. Die, die zum Abbruch führen, haben eine Datenbankverbindung. Ich habe es mit zwei DLL getestet.
Daraufhin habe ich in das OnCreate des DataModuls eine ShowMessage gesetzt. Das wird aber nicht aufgerufen.

Hat jemand eine Idee woran der Absturz liegen könnte?
Welcher Code in der DLL wird bereits mit dem Aufruf von LaodLibrary ausgeführt?

Ich verwende UniDac für den Zugriff auf MsSQL.


Grüße und Danke
Gerd

Geändert von norwegen60 (13. Feb 2019 um 17:52 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General
Online

Registriert seit: 16. Jan 2004
Ort: Bendorf
4.909 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: LoadLibrary beendet mit Delphi 10.3 Application

  Alt 13. Feb 2019, 17:56
DllMain wird beim LoadLibrary aufgerufen.
(Bzw. der Code zwischen begin und end. in der .dpr)
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
MichaelT

Registriert seit: 14. Sep 2005
Ort: 4020 Linz
459 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: LoadLibrary beendet mit Delphi 10.3 Application

  Alt 13. Feb 2019, 18:04
Schwer zu sagen.

Wenn ein Anwendung in so einem Fall bei mir abschmierte, dann ging der Griff einer DLL ins Leere.

In puren C implementiere DLLs (MySQL bspw...) kennen kein Exception Handling. Dann liegt es an der DLL auf welche Art der exit erfolgt. Fehlen ganz fundamentalen Funktionen die man in libc würde unter UNIX suchen ist eher Panik angesagt.

Fehlen die MSC/C++ Runtime DLLs? Microsoft Visual C++ Redistributable in der passenden Version?

Hallo zusammen,

da ich mit 10.2 ziemliche Performance-Probleme in der IDE hatte habe ich jetzt auf Delphi 10.3 upgedatet. IDE ist wieder etwas schneller.

Auf einigen Rechnern arbeitet meine Anwendung einwandfrei. (Win10 und Win7). Auf zwei Rechnern (beide Win10 Pro) habe ich aber das Problem, dass die Anwendung ohne jegliche Rückmeldung beendet wird sobald ich über
...
Grüße und Danke
Gerd
  Mit Zitat antworten Zitat
norwegen60

Registriert seit: 23. Dez 2007
271 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: LoadLibrary beendet mit Delphi 10.3 Application

  Alt 13. Feb 2019, 18:52
Danke für das schnelle Feedback. Es gibt keine DllMain und kein Code zwischen begin.

Die dpr sieht so aus
Delphi-Quellcode:
uses
  SysUtils,
  Dialogs,
  Classes,
  ComCtrls,
  Forms,
  Ed_user in 'Ed_user.pas{foedUser},
  Di_uslog in 'Di_uslog.pas{fodiUserLogin},
  int_User in 'int_User.pas',
  U_hilfs1 in '..\..\All\ALL_UNIT\U_hilfs1.pas',
  u_Debug in '..\All_Unit\u_Debug.pas',
  u_NTRegistry in '..\..\All\All_Unit\u_NTRegistry.pas',
  int_Splash in '..\..\All\ALL_Form\int_Splash.pas',
  u_InitDat in '..\All_Unit\u_InitDat.pas',
  u_IniDo in '..\..\All\All_Unit\u_IniDo.pas',
  U_initFo in '..\ALL_UNIT\U_initFo.pas',
  U_InitDb in '..\ALL_UNIT\U_InitDb.pas',
  dm_ConDoQMa in '..\All_Form\dm_ConDoQMa.pas{dmConDoQMa: TDataModule},
  u_RegDo in '..\..\All\All_Unit\u_RegDo.pas';

{$R *.RES}

exports
  edUser,
  GetUser,
  InitUser0,
  SetUser;

end.
Die DLL funktionieren seit Jahren auf verschiedensten Rechnern. (Start mit Delphi 3.0, 5.0, 7.0, XE, 10, 10.1, 10.2.x)
Die EXE und die DLL's liegen in einem GroupProject und wurden alle gleich kompiliert.
Die mit Delphi 10.2.2 kompilierte Version läuft problemlos auf ca. 60 Rechnern. Sie liefen auch auf den den beiden Rechnern, die jetzt Probleme bereiten. (Rücksetzung auf die 10.2.2 Version hat das Problem wieder beseitigt)
Nur mit Delphi 10.3 gibt es wieder ein neues Problem.

Grüße
Gerd
  Mit Zitat antworten Zitat
hoika
Online

Registriert seit: 5. Jul 2006
Ort: Magdeburg
6.645 Beiträge
 
Delphi XE4 Professional
 
#5

AW: LoadLibrary beendet mit Delphi 10.3 Application

  Alt 13. Feb 2019, 20:14
Hallo,
ich würde mal den Dependency walker benutzen,
um auf diesen Rechnern mal nachzuschauen, ob irgendeine Dll fehlt.
Heiko
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.351 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

AW: LoadLibrary beendet mit Delphi 10.3 Application

  Alt 13. Feb 2019, 23:25
Du sagst, dass eine Datenbankverbindung aufgebaut wird. Sind denn die entsprechenden Zugriffskomponenten auf den beiden Systemen vorhanden? Bei MSSQL braucht man ja z.B. je nachdem wie man auf die Datenbank zugreifen will den Native Client.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
7.092 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#7

AW: LoadLibrary beendet mit Delphi 10.3 Application

  Alt 14. Feb 2019, 06:12
Ich würde als Allererstes den Process Monitor benutzen um zu schauen worauf da zugegriffen wird. Vielleicht fehlen zum Beispiel DLLs für die Datenbankverbindung. Bevor man da aber lange sucht, würde ich immer zuerst schauen, ob dieses externe Log etwas ergibt. Das spart in den meisten Fällen sehr viel Zeit.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
MichaelT

Registriert seit: 14. Sep 2005
Ort: 4020 Linz
459 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: LoadLibrary beendet mit Delphi 10.3 Application

  Alt 14. Feb 2019, 09:40
Ok. Das klingt spannender.

Ich verwende weder Win 10 noch Rio ...

Kann es sein, dass das Projekt in Rio (10.3) 64-bittig wird? (abwegig)

---

Kannst du die DLLs in einem Kommandozeilenprogramm probieren zu laden und schauen ob du mit GetLastError noch genauere Information zurückbekommst?

Danke für das schnelle Feedback.

Grüße
Gerd
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General
Online

Registriert seit: 16. Jan 2004
Ort: Bendorf
4.909 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

AW: LoadLibrary beendet mit Delphi 10.3 Application

  Alt 14. Feb 2019, 09:49
Was noch ausgeführt wird ist der initialization Bereich deiner eingebundenen Units - falls du da irgendwas drin hast?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
arnold mueller

Registriert seit: 27. Jul 2005
84 Beiträge
 
#10

AW: LoadLibrary beendet mit Delphi 10.3 Application

  Alt 15. Feb 2019, 20:27
Kann es sein, dass das Projekt in Rio (10.3) 64-bittig wird? (abwegig)

---
Finde ich gar nicht abwegig. Nicht das Rio das automatisch tun würde, aber vielleicht wird die DLL jetzt in 64Bit übersetzt und referenziert weitere 32Bit DLL's.

Nur so ins Blaue getippt ...
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 20:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf