AGB  ·  Datenschutz  ·  Impressum  







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

Exception vor Application.Initialize

Ein Thema von Harry M. · begonnen am 31. Dez 2006 · letzter Beitrag vom 1. Jan 2007
Antwort Antwort
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#1

Exception vor Application.Initialize

  Alt 31. Dez 2006, 16:34
Hallöchen

Wie kann ich eine Exception noch vor Application.Initialize abfangen (und ggf. behandeln).

Das Problem tritt beim Laden einer DLL auf, weil die verwendete Funktion erst ab XP SP 2 unterstützt wird.

Die einfache Abfrage ob die gewünschte DLL verfügbar ist, ist ja nicht das Problem, die besteht viel mehr darin, das die Exception noch vor Application.Initialize auftritt. Also noch bevor irgendwelcher Code zu tragen kommt. Oder wie oder was

Gruß Harry
und allen eine "Guten Rutsch"
Harry
Gruß Harry
www.H-Soft.info
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#2

Re: Exception vor Application.Initialize

  Alt 31. Dez 2006, 17:13
Zitat von Harry M.:
Hallöchen

Wie kann ich eine Exception noch vor Application.Initialize abfangen (und ggf. behandeln).

Das Problem tritt beim Laden einer DLL auf, weil die verwendete Funktion erst ab XP SP 2 unterstützt wird.

Die einfache Abfrage ob die gewünschte DLL verfügbar ist, ist ja nicht das Problem, die besteht viel mehr darin, das die Exception noch vor Application.Initialize auftritt. Also noch bevor irgendwelcher Code zu tragen kommt. Oder wie oder was :gruebel:

Gruß Harry
und allen eine "Guten Rutsch"
Hallo,

natürlich gibt es ein Leben vor Application.Inialize. Schreib eine Funktion, die prüft, ob es die DLL gibt (mit FileExists o.ä.), definiere eine globale Variable für das Ergebnis und rufe die Funktion in deiner .DPR-Datei als allererstes auf.

Das nützt natürlich nur was, wenn du die DLL dynamisch lädst und bei Nichtexistenz das garnicht erst versuchst.

Gruss Reinhard
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#3

Re: Exception vor Application.Initialize

  Alt 31. Dez 2006, 17:30
Sowas hatte ich bereits. Ergebnis blieb das Gleiche. Es rumpelt, noch bevor der Code druchlaufen wird.
Harry
Gruß Harry
www.H-Soft.info
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Exception vor Application.Initialize

  Alt 31. Dez 2006, 17:35
Das wird nicht gehen. Wenn die DLL statisch in die Exe gelinkt wird, dann wird die Exception schon vom Loader ausgelöst, weil er die DLL nicht finden kann. Ist nicht sicher gestellt, dass es die DLL gibt, hilft nur noch eins, nämlich zur Laufzeit laden und die Funktionen dynamisch importieren. Sihe dazu auch das DLL Tutorial von Olli: http://www.michael-puff.de/dirindex....orte/Assarbad/
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#5

Re: Exception vor Application.Initialize

  Alt 31. Dez 2006, 17:47
Sowas in der Art konnte ich mit schon denken.
Dann rutsch ich mit Assarbad's Tuts in neue Jahr
Harry
Gruß Harry
www.H-Soft.info
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#6

Re: Exception vor Application.Initialize

  Alt 31. Dez 2006, 17:58
Zitat von Harry M.:
Sowas in der Art konnte ich mit schon denken.
Dann rutsch ich mit Assarbad's Tuts in neue Jahr :mrgreen:
Hallo,
hättest du in meiner Antwort alle 3 Zeilen gelesen und nicht nach 2 schon aufgehört, da stand auch schon "Dll dynamisch".

Naja, war wohl doch zu lang.

Gruss Reinhard
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#7

Re: Exception vor Application.Initialize

  Alt 31. Dez 2006, 22:25
Lieber Reinhard Kern,
da die Av noch vor dem eigendlichen Dll-Zugriff kommt bin ich nicht sicher ob dies nun "Dynamisch" oder "Statisch" ist.
Harry
Gruß Harry
www.H-Soft.info
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Exception vor Application.Initialize

  Alt 31. Dez 2006, 23:12
Moin Harry,

wenn Du die DLL mittels:

function Funktionsname(parameter) : Result; external 'DLLNAME'

einbindest, wird sie statisch eingebunden => Das Betriebssystem versucht die DLL und die Funktionsaufruf in der DLL zu finden.
Wenn dabei eines von beiden fehlschlägt => Exception.

Zum dynamischen Einbinden brauchst Du Hier im Forum suchenLoadLibrary für die DLL und Hier im Forum suchenGetProcAddress für die Funktion.

Du müsstest also wissen können, wie die DLL eingebunden wird
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#9

Re: Exception vor Application.Initialize

  Alt 1. Jan 2007, 00:08
Danke für die Erklärung. Dann war es wohl statisch
Harry
Gruß Harry
www.H-Soft.info
  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 07:53 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