AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein LoadLibrary() unter D11 ist THandle immer 0
Thema durchsuchen
Ansicht
Themen-Optionen

LoadLibrary() unter D11 ist THandle immer 0

Ein Thema von Steffer · begonnen am 7. Mai 2023 · letzter Beitrag vom 17. Mai 2023
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: LoadLibrary() unter D11 ist THandle immer 0

  Alt 11. Mai 2023, 09:12
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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Steffer

Registriert seit: 21. Jul 2012
7 Beiträge
 
#12

AW: LoadLibrary() unter D11 ist THandle immer 0

  Alt 11. Mai 2023, 20:53
An alle die sich hier Gedanken gemacht haben vielen Dank.

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.

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.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: LoadLibrary() unter D11 ist THandle immer 0

  Alt 16. Mai 2023, 13:02
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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Steffer

Registriert seit: 21. Jul 2012
7 Beiträge
 
#14

AW: LoadLibrary() unter D11 ist THandle immer 0

  Alt 17. Mai 2023, 19:31
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.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: LoadLibrary() unter D11 ist THandle immer 0

  Alt 17. Mai 2023, 21:37
Ich habe dir eine private Nachricht geschickt.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 00:43 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