[ sjanos @ 10.09.2004. 08:49 ] @
da li je moguce pozvati neki c++ dll ili exe u visual basic (99.9% sam siguran da moze).
ako jeste koja je procedura za to konkretno bi mi trebao neki manji primer.
inace radi se o programu koji koristi veliki broj lotto kombinacija a kod napisan u c++ je mnooooogo puta brzi od istog koda koji je pisan u vb-u. meni je mnogo lakse da uradim korisnicki interfejs u vb-u ali bi hteo da koristim brzinu c++ u svom programu. ovo sam naveo jer ce mi biti potrebna neka povratna vrednost iz c++ koda.
hvala unapred.
[ mladenovicz @ 10.09.2004. 09:12 ] @
funkcije iz C++ DLLa deklarises kao sto deklarises APIje. C++ DLL projekat treba da ima .def fajl u kome treba da bude ovako nesto

Code:

LIBRARY   BitLib

EXPORTS
    ShiftRDWORD
    ShiftLDWORD
    ShiftRWORD
    ShiftLWORD
    ShiftRBYTE
    ShiftLBYTE
    OperationDWORD
    OperationWORD
    OperationBYTE


posle EXPORTS ide lista funkcija koje se mogu pozivati iz tog DLLa.
[ sjanos @ 10.09.2004. 13:32 ] @
ako ne trazim previse moze li jedan kratak primer.
ja sam probao da uradim nesto ali ne ide javlja mi gresku da ne moze naci funkciju u tom dll-u.

kod u vb-u:
Code:
MsgBox SimpleFunc(5), vbOKOnly, "Variable Returned"

a u modulu je:
Code:
Declare Function SimpleFunc Lib "testdll.dll" (ByVal Value As Integer) As Integer


kod za dll (koji sam inace probao da uradim u borland c++ 5, dev c++ 4.9.9.0 ovaj zadnji ni nece da mi napravi dll)
testdll.cpp:
Code:
#include <windows.h>

short initVar = 0;

short __declspec(dllexport) CALLBACK SimpleFunc(short value)
{
    return value * initVar;
}


i

testdll.def:
Code:

LIBRARY testdll

EXPORTS
    SimpleFunc      @1


inace koja je procedura za pravljenje dll-a.
[ mladenovicz @ 10.09.2004. 14:06 ] @
Ja sam DLLove pravio u Microsoft Visual C++ 6.0. Kad napravis DLL stavis ga da bude u pathu (najbole u system32)
[ sjanos @ 10.09.2004. 14:14 ] @
ovaj primer koji sam naveo, da li je ispravan???