Minimum an DLLs?

Von der Installation bis zur Auslieferung der Applikation

Moderator: Moderatoren

Antworten
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Minimum an DLLs?

Beitrag von georg »

Hallo,


ich versuche, für ein kleines Kommandozeilenprogramm mal die erforderlichen DLLs zu ermitteln. Das Programm verwendet keine DBEs, und folgende DLLs habe ich als erforderlich ermittelt:

ASCOM10.dll
ASRDBC10.dll
SOM.dll
XppNat.dll
XppRt1.dll
XppSys.dll
XppUi1.dll

Damit lässt sich das Programm starten. Als einziges "AddOn" verwende ich die TInit-Klasse von Phil, die eigentlich keine besonderen Laufzeitbibliotheken braucht. Das Programm bricht an dieser Anweisung ab:

Code: Alles auswählen

dllfunction GetPrivateProfileSectionA(ASection, @ABuffer, ALength, AFileName) using stdcall from "kernel32.dll"
Also fehlt wohl eine DLL, denn wenn ich meinen Pfad (in dem die Laufzeitbibliotheken liegen) wieder aktiviere, läuft es.

Hat einer eine Idee, was fehlt?
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Minimum an DLLs?

Beitrag von Herbert »

Laut MSDN
This function is provided only for compatibility with 16-bit applications written for Windows. Applications should store initialization information in the registry.
heisst, du rufst eine 16-bit Bibliothek auf. Sollte in Kernel32.dll aber vorhanden sein.
Grüsse Herbert
Immer in Bewegung...
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Minimum an DLLs?

Beitrag von georg »

Hallo, Herbert -


mit den gelisteten DLLs gibt es die Fehlermeldung.

Setze ich alle Alaska-DLLs wieder in den Pfad und starte das Programm, gibt es keine Fehlermeldung, sondern es funktioniert einwandfrei.

Also kann es m.E. kein Problem sein, das mit dem Aufruf einer 16bit DLL zusammenhängt, da die (fehlende) DLL, die dazwischen hängt, in meiner Liste nicht vorhanden ist, aber laut Alaska Dokumentation habe ich alle erforderlichen DLLs.


Machen wir ein anderes Fass auf: es gibt einfach kleine Hilfsprogramme, für die will ich nichts in die Registry schreiben, da ist es einfacher, die Programme lesen ihre Informationen aus einer INI-Datei aus, die man schnell mit einem Editor anpassen kann. Enduser an die Registry dranlassen halte ich für eine fatale Fehlentscheidung. Ausserdem greift Phil auf eine Funktion in der kernel32.dll zu, und da würde ich 32bit Code drin vermuten.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Minimum an DLLs?

Beitrag von Herbert »

Bin deiner Meinung, Georg
Gibts nur Trial and Error, indem du Lib um Lib wegnimmst...
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Minimum an DLLs?

Beitrag von AUGE_OHR »

georg hat geschrieben:ASCOM10.dll
ASRDBC10.dll[/code]
wenn du die ASCOM10.DLL nimmst solltest du auch die ASCOM10C.DLL mitliefern.
die ASRDBC10.dll ist doch für die Datenbank - Funktionalität ? siehe Help File "Xbase++Programme an Kunden ausliefern"
gruss by OHR
Jimmy
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Minimum an DLLs?

Beitrag von georg »

Guten Morgen,


Jimmy: Volltreffer. Die war's.

Und: obwohl ich nur eine leere DbeSys() verwende, verlangt die Laufzeitumgebung nach der ASRDB10.dll

Vielen Dank für's Feedback!
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Antworten