В общем всё получилось. Теперь отписываюсь. Авось кому нибудь пригодится.
Проект VB:
Visual Basic
Private Declare Function findProcess Lib "lib_for_vb_2" (ByVal x As String) As Boolean
Private Sub Form_Click()
Dim a As String
a = "notepad.exe"
Print findProcess(a)
End Sub
Проект Qt:
main.cppC++ (Qt)
#include <QtCore/QCoreApplication>
#include <QString>
#include "systemwin32.h"
#include <QFile>
#include <QTextStream>
#ifdef MYDLL_EXPORTS
#define MYDLL_API __declspec(dllexport)
#else
#define MYDLL_API __declspec(dllimport)
#endif
extern "C" __stdcall bool findProcess(char * S)
{
QString processName(S);
systemWin32 processesInWin;
if (processesInWin.findProcess(processName))
{
return true;
}
else
{
return false;
}
}
.pro файлC++ (Qt)
TEMPLATE = lib
CONFIG += dll
TARGET = lib_for_vb_2
SOURCES += main.cpp
DEF_FILE = $$PWD/lib_for_vb_2.def
OTHER_FILES += \
lib_for_vb_2.def
И самое главное def. файл:C++ (Qt)
LIBRARY lib_for_vb_2
EXPORTS
findProcess @1
convertToUtf8 @2
Теперь пытаюсь сделать следующее: вернуть из библиотеки не булеан значение, а к примеру тот же String. но пока ни чего не получилось.
C++ (Qt)
extern "C" __stdcall wchar_t * convertToUtf8(char * S)
{
QString string(S);
QString strEnd = string.toUtf8 ();
wchar_t *sss;
strEnd.toWCharArray (sss);
return sss;
}
Visual Basic
Private Declare Function convertToUtf8 Lib "lib_for_vb_2" (ByRef x As String) As String
Private Sub Command1_Click()
Print convertToUtf8("sasha")
End Sub
Приложение на VB просто напросто вылетает...
Всем огромное СПАСИБО за оказанную помощь!!!