[DLL] Kleiner Quellcodefehler?



  • Ich bekomme leider immer "InitDLL Fehler" angezeigt.
    Ich weiss nur nicht wo der Fehler sein soll.
    Ich habe von einem Freund damals eine DLL bekommen für Dateianalyse.
    Ich wollte es mir jetzt mal einbinden und bekomme es nicht hin und er ist im Urlaub 😡

    Er hat mir ne kleine Beschreibung begefügt..

    function InitDLL : Bollean; far; external 'DateiAnalyse.dll' index 1;
    

    In seinem Delphi Beispielcode fügt er die DLL so ein.

    implementation
     function InitDLL : Boolean; external 'DateiAnalyse.dll';
    

    Was mach ich falsch?

    //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #include "windows.h"
    
    #pragma hdrstop
    
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    typedef bool TInitDLL(void);
    
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    	: TForm(Owner)
    {
    	if (!DllInstance) DllInstance = LoadLibrary("DateiAnalyse.dll");
    	if (DllInstance)
    	{
    		Caption = "DLL wurde geladen.";
    		InitDLL = (TInitDLL*)GetProcAddress(DllInstance, "_InitDLL");
    		if (InitDLL != NULL) b_init = InitDLL();
    		else Caption = "InitDLL Fehler";
    	}
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::FormDestroy(TObject *Sender)
    {
    	FreeLibrary(DllInstance);
    }
    //---------------------------------------------------------------------------
    


  • ich habe überhaupt kein verständnis für solche poster wie du!!

    welche fehler bringt er denn

    [edit]
    nur "InitDLL Fehler" wohl kaum



  • Blackhawk schrieb:

    ich habe überhaupt kein verständnis für solche poster wie du!!

    Müsste es nicht heißen... äh... egal. Wollte nur fragen, was du meinst. Den Dreifachpost? Eben war das Forum etwas... down. Da passiert sowas.



  • Also ein Dreifachpost war nun garnicht beabsichtigt.
    Da schiebe ich die Schuld auf das Forum.
    Irgendwie scheint das übel hinüber zu sein 🙄

    Dem Quellcode zu folge

    if (InitDLL != NULL) b_init = InitDLL();
            else Caption = "InitDLL Fehler";
    

    heisst das, das die diese Zeile fehlgeschlagen sein muss

    InitDLL = (TInitDLL*)GetProcAddress(DllInstance, "_InitDLL");
    

    ich habe es mal mit

    InitDLL = (TInitDLL*)GetProcAddress(DllInstance, "InitDLL");
    

    (Ohne Unterstrich) probiert und es "scheint" zu gehen. Frage mich aber wieso dann in jedem dummen Beispiel im Netz nen Untertrich vorhanden ist und in der DLL Funktion nicht 😕



  • Ich bitte den Moderator die anderen identischen Beiträge zu entfernen. Das Forum war leider tot und ich habe nicht geahnt das es obwohl es Minutenlang "festhing" es trotzdem gesendet hatte. Kam ins Forum auch nicht rein, um nachzusehen 😑

    Tut mir wirklich Leid. Für technisches Versagen kann ich nun aber auch nichts.



  • oh mann entschuldigung vielmals!


Anmelden zum Antworten