Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   LoadLibrary() unter D11 ist THandle immer 0 (https://www.delphipraxis.net/213011-loadlibrary-unter-d11-ist-thandle-immer-0-a.html)

jaenicke 11. Mai 2023 08:12

AW: LoadLibrary() unter D11 ist THandle immer 0
 
Zitat:

Zitat von Steffer (Beitrag 1522257)
Wozu Sharemem ist keine Frage weil einfach vorhanden.

Mein erster Gedanke war auch, ob das eigentlich kompatibel sein kann, aber da es unter XE noch ging, bin ich wieder davon abgekommen, weil ich es nie verwendet habe und keine Ahnung habe, wie das läuft.

Wenn du dir aber nicht sicher bist, ob es gebraucht wird, kann es natürlich unter XE noch funktioniert haben, weil es schlicht überflüssig ist. Insofern wäre es schon wichtig, dir die exportierte Funktion diesbezüglich anzuschauen. Wenn die exportierte Funktion sauber umgesetzt ist, sprich nur WideString oder PAnsiChar/PWideChar usw. und keine Delphi-Strings verwendet werden, braucht man Sharemem auch nicht.

Entferne Sharemem doch einfach mal aus der uses. Wenn es daran liegt, kannst du die DLL auf jeden Fall korrekt laden. Es gibt dann zwar ggf. später Fehler, aber zum Testen kannst du es ja ohne versuchen.

Steffer 11. Mai 2023 19:53

AW: LoadLibrary() unter D11 ist THandle immer 0
 
An alle die sich hier Gedanken gemacht haben vielen Dank.

Zitat:

Zitat von hoika (Beitrag 1522269)
Hallo,
wird ShareMem überhaupt gebraucht?

Wie sieht das Interface der DLL aus?
Vielleicht was mit Unicode?

Alles prallt da bei mir ab da der Aufruf aus D7 XE funktioniert.
Und LoadLibraray() ist ja keine Zirkusnummer.

Zitat:

Zitat von jaenicke (Beitrag 1522273)
Zitat:

Zitat von Steffer (Beitrag 1522257)
Wozu Sharemem ist keine Frage weil einfach vorhanden.

Mein erster Gedanke war auch, ob das eigentlich kompatibel sein kann, aber da es unter XE noch ging, bin ich wieder davon abgekommen, weil ich es nie verwendet habe und keine Ahnung habe, wie das läuft.

Wenn du dir aber nicht sicher bist, ob es gebraucht wird, kann es natürlich unter XE noch funktioniert haben, weil es schlicht überflüssig ist. Insofern wäre es schon wichtig, dir die exportierte Funktion diesbezüglich anzuschauen. Wenn die exportierte Funktion sauber umgesetzt ist, sprich nur WideString oder PAnsiChar/PWideChar usw. und keine Delphi-Strings verwendet werden, braucht man Sharemem auch nicht.

Entferne Sharemem doch einfach mal aus der uses. Wenn es daran liegt, kannst du die DLL auf jeden Fall korrekt laden. Es gibt dann zwar ggf. später Fehler, aber zum Testen kannst du es ja ohne versuchen.

Die Verwendung der DLL ist im Prinzip 20 Jahre alt. Diese beinhaltet Anwenderdaten zur Lizenzierung. Die DLL wird in einem Ablauf erstellt. Da hat die Sharemem niemanden interessiert. Die steht da drin, auch wenn sie überholt ist.

Das die mir jetzt bei D11 und Loadlibrary() auf die Füße fällt hätte ich nicht erwartet.
Es ist wie es ist.

Ich mache daraus jetzt keine Doktorarbeit. Habe heute x Stunden mit x Versionen experimentiert.
Diese alten DLLs werden durch neue DLLs auf Basis D11 ersetzt.
Ist umständlicher aber die sichere Lösung ohne Basteln etc.

Nochmals vielen Dank an alle die mitgedacht haben.

Wenn jemand Bock auf den Ansatz hat schicke ich gerne den Source zu der DLL aus D7.

jaenicke 16. Mai 2023 12:02

AW: LoadLibrary() unter D11 ist THandle immer 0
 
Zitat:

Zitat von Steffer (Beitrag 1522316)
Wenn jemand Bock auf den Ansatz hat schicke ich gerne den Source zu der DLL aus D7.

Ich würde es gerne kurz ausprobieren, wenn das so überschaubar ist. Ich bräuchte dazu dann auch den Teil der Unit aus Delphi 11, mit dem du die DLL einbindest.

Steffer 17. Mai 2023 18:31

AW: LoadLibrary() unter D11 ist THandle immer 0
 
Zitat:

Zitat von jaenicke (Beitrag 1522486)
Ich würde es gerne kurz ausprobieren, wenn das so überschaubar ist. Ich bräuchte dazu dann auch den Teil der Unit aus Delphi 11, mit dem du die DLL einbindest.

Gerne.
Ist absolut überschaubar.
Du bekommst Source und kompilierte DLL aus D7 sowie die Testanwendung als Source und kompiliert in einem Zip.
Kann ich dir das als persönliche Nachricht senden oder muss ich es hier al Anlage senden?
Habe hier keine Erfahrung im Umgang.

jaenicke 17. Mai 2023 20:37

AW: LoadLibrary() unter D11 ist THandle immer 0
 
Ich habe dir eine private Nachricht geschickt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:47 Uhr.
Seite 2 von 2     12   

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