Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > DLL на C++/QT


Автор: gogogo 16.8.2011, 06:23
Нужно доделывать некий функционал, некой программы, которая написана на VB6. По сути нужно добавить несколько диалоговых окошек с настройками.  Т.К. на VB6 я почти не пишу,  знаю только основы, есть мысль дописать это на c++/QT. А после может и весь проект на нем написать, постепенно убирая VB6. 

Идея может и дурная, но сразу переписывать большой проект у меня рука не поднимается, а вот понемногу, уже можно. Час снова идет развитие этой программы и я хочу сразу писать на C++ новые нужные части, а старые переписывать как будет время, потом всё солью в единый проект.

Собственно что я пробую.
На VB6 одна кнопка которая вызывает мою функцию.
Код

Private Declare Function test Lib "test.dll" Alias "test@0" () As Integer
Private Sub Command1_Click()
   Text1.text = test
End Sub


если пишу DLL так
Код

#include <QtGui>
extern "C" __stdcall int test(){
   QString a="123";
   return a.toInt();
}
 
всё работает.


Как только пытаюсь задействовать что-то типа (QWidget *myWidget = new QWidget();), программа (на VB6 которая) месте с IDE падает с сообщением "Runtime Error! This Application has requested the Runtime to terminate it in an unusual way. Please contact the applications support for more informations"


Что не так в DLL ? 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)