AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Prüfen ob dll geladen

Ein Thema von freak4fun · begonnen am 7. Dez 2004 · letzter Beitrag vom 7. Dez 2004
Antwort Antwort
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Prüfen ob dll geladen

  Alt 7. Dez 2004, 15:22
Hallo,
ich hab eine .dll in mein Projekt eingebunden. Nun will ich aber prüfen, ob diese auch wirklich verfügbar ist. Wie kann ich das anstellen? Ich hatte versucht einen try - except - Block darum zu bauen, aber das funktioniert nicht, bzw ich mache was falsch.

So siehts aus:

Delphi-Quellcode:
implementation
function addiere (zahl1, zahl2: integer): integer; stdcall;
external
  'dllmath.dll';
function subtraiere (zahl1, zahl2: integer): integer; stdcall;
external
  'dllmath.dll';
mfg
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Prüfen ob dll geladen

  Alt 7. Dez 2004, 15:24
Du müsstet die Hier im Forum suchenDLL dynamisch laden, und schauen, ob das möglich ist (ist das Handle auf DLL gültig? Ist die Methode in der DLL vorhanden? etc.)

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#3

Re: Prüfen ob dll geladen

  Alt 7. Dez 2004, 15:25
Wenn du das so machst, kannst du während der Laufzeit nur mit FileExists arbeiten und entsprechend die Funktionen nicht nutzen. Du könntest aber auch MSDN-Library durchsuchenLoadLibrary benutzen. Wenn die angegebene Datei nicht existiert, gibt die Funktion Null als Ergebnis.
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: Prüfen ob dll geladen

  Alt 7. Dez 2004, 15:25
huhu,
an dynamisch hatte ich nicht gedacht. Danke für die schnelle Antwort!

mfg
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#5

Re: Prüfen ob dll geladen

  Alt 7. Dez 2004, 15:56
Moin!

Und wenn du es statisch einbindest, dann ist die DLL immer geladen, wenn dein Code zur Ausführung kommt, weil Windows bei fehlender statischer DLL einen Fehler ausgibt und das Programm deshalb nicht laden, geschweige denn starten kann.

MfG
Muetze1
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

Re: Prüfen ob dll geladen

  Alt 7. Dez 2004, 15:57
kann man den fehler nicht irgendwie unterdrücken?

mfg
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#7

Re: Prüfen ob dll geladen

  Alt 7. Dez 2004, 15:59
Moin!

Nein, der kommt direkt vom Windows Loader der die Referenzen der Lookup Table bzw. der Dependencies auflösen will. Die Meldung bringt Windows immer, weil sonst der User auf den Start des Programmes wartet... *g*
Dein Programm selber wird nie gestartet und kann daher auch nie eine Meldung ausgeben.

MfG
Muetze1
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#8

Re: Prüfen ob dll geladen

  Alt 7. Dez 2004, 16:13
Achso,
danke...

mfg
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:34 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