Von Dll zu Dll..

napstermania

Mitglied
Hallo,

ich möchte von einer ersten .dll datei, ich nenne sie mal jetzt "erste.dll", eine funktion aus einer zweiten .dll ausführen! Dabei will ich zwei parameter(char) in die zweite .dll mit übergeben, so das diese damit arbeiten kann! ich hab mir eine header geschrieben die ich in beiden DLL projekten benutze!

header..
Code:
#ifndef CPMAIN_H
#define CPMAIN_H

#ifdef CPROTECT_APP
__declspec(dllimport) void Connect(char* Name, char* Server);
#else
__declspec(dllexport) void Connect(char* Name, char* Server);
#endif
#endif

In meiner ersten .dll definiere ich mir noch CPROTECT_APP (so kenn ich es von .exe zu .dll), aber wenn ich das so in einer .dll anwende um in einer zweiten .dll die funktion auszufüren geht das nicht! gibt es noch andere möglichkeiten oder hab ich irgendwas vergessen?

Hier noch ein vereinfachter aufbau der beiden dlls zum besseren verständniss:

erste.dll
Code:
#include<iostream>
#include"cpmain.h"

cahr* Name, Server;

#define CPROTEC_APP;

void MainAPIFunction()
{
    Connect(Name, Server);
}


zweite.dll
Code:
#include<iostream>
#include"cpmain.h"

void Connect(cahr* Name, char* Server)
{
    /* code */
}



ich hoff mir kann jemand bei meinem problem helfen!
 
Zuletzt bearbeitet:
Definiere "das geht nicht". Wenn "geht nicht" ein Laufzeitfehler ist, hast du schon dein Glück mit dem Debugger versucht?
 
Wenn das eine Originalkopie ist, dann würde ich dir raten das Semikolon hinter
der Define-Anweisung wegzumachen. Außerdem meine ich dass die Define Anweisung
besser vor dem Include kommen sollte:
Code:
#include<iostream>

#define CPROTEC_APP
#include"cpmain.h"

char* Name, Server;

void MainAPIFunction()
{
    Connect(Name, Server);
}
 
@ C Coder ..Hab ich alles schon versucht, auf diese weise will das einfach nicht! :(

obwohl es doch von dll zu dll genauso gehn muß wie von exe zu dll ...

@ Endurion ..Nein da meine ausführung in nem try/catch block liegt (bzw. liegen "muß") bekomm ich keine fehlermeldung! es geht einfach nicht^^

ich weiß nicht mehr weiter! Aber es kennt doch bestimmt noch jemand ne andere möglichkeit hoff ich mal :)
 
Zurück