DLL - Shared Library - Parameter und ReturnWert
Verfasst: 28. August 2012 15:24
Ich erstelle gerade mit Qt eine minimale DLL.
Kompilieren: klappt!
Funktionsaufruf: klappt!(per Konsole mit rundll32.exe)
Aber:
Funktionsparameter übergeben: Klappt NICHT
ReturnWert erhalten: Kappt NICHT
Es ist mit ein Rätsel, warum die Funktion "foo" nicht den übergebenen Parameter ausliest
Hier mein Code:
myDll.pro
main.h
main.cpp
Wenn ich als Parameter eine Zahl übergebe, z.B. 5, blaibt die Variable "a" dennoch immer unbeschrieben, bzw. enthält den Wert, der gerade zufällig an der Speicheradresse von a steht, und das ist immer IRGENDeiner
Rückgabewert erhalte ich auch nicht :/
Weiß jemand Rat?
Kompilieren: klappt!
Funktionsaufruf: klappt!(per Konsole mit rundll32.exe)
Aber:
Funktionsparameter übergeben: Klappt NICHT
ReturnWert erhalten: Kappt NICHT
Es ist mit ein Rätsel, warum die Funktion "foo" nicht den übergebenen Parameter ausliest
Hier mein Code:
myDll.pro
Code: Alles auswählen
TEMPLATE = lib
HEADERS += main.h
SOURCES += main.cpp
DEFINES += TESTCode: Alles auswählen
#include <QtGui>
#if defined TEST
#define TEST_COMMON_DLLSPEC Q_DECL_EXPORT
#else
#define TEST_COMMON_DLLSPEC Q_DECL_IMPORT
#endif
extern "C" TEST_COMMON_DLLSPEC int foo(int a);Code: Alles auswählen
#include <QtGui>
#include <QFile>
#include "main.h"
int foo(int a)
{
QFile file(QString("C:/main_%0.txt").arg(QString::number(a)));
if (file.open(QIODevice::WriteOnly | QIODevice::Text))
{
file.write("Klappt");
file.close();
}
return 12;
}Rückgabewert erhalte ich auch nicht :/
Weiß jemand Rat?