Strona 1 z 1

wywolywanie dll i zwracanie stringa

: 13 maja 2007 17:30
autor: wynimkok
niestety jestem poczatkujacym uzytkownikiem Labview i nie mam pojecia jak to zrobic: wywoluje dll stworzonego w visualu, chce zwrocic stringa, niestety zupelnie nie wiem jak go w Labview pozniej odczytac..

tego dlla tworze sama, wiec moze mi on zwracac albo char* albo string, tak czy siak, nie wiem jak to pozniej odczytac w Labview. Moja wiesza konczy sie na wywolaniu funkcji Call Library Node i skonfugurowaniu jej na return type C String Pointer. Probowalam szukac na necie i dowiedzialam sie, ze przed wywolaniem dlla powinnam zainicjalizowac pustego stringa.. tak czy siak za duzo mi to nie mowi gdyz nie wiem co dalej z tym robic
prosze o pomoc

Re: wywolywanie dll i zwracanie stringa

: 14 maja 2007 05:15
autor: maszup
Prosze przyjzec sie jak ja to kiedys robilem. Uzywam stringa do zwracania errorow z DLL do Labview
Najpierw funkcja w C++:
DLLEXPORT int32 DLLCALLING USBwebcam_Stop(CAP_HANDLE

CaptureHandle,





int32



*NativeError,





char




*Message,





uInt32



MessageSize) {
int32 ErrorCode = NO_ERROR;
FonzoUSBWebcam *CapSystem;

if(CaptureHandle) {

CapSystem = g_CameraMap.GetTypedResourceForReference(CaptureHandle);


ErrorCode = CapSystem->StopDirectShow(Message, MessageSize);

g_CameraMap.ReleaseTypedResource(CapSystem);
} else {

_snprintf(Message, MessageSize, "DirectShow was not initialize!");


return -2;
}

return ErrorCode; }
tutaj nie inicjalizujemy nic, poprostu deklarujemy wskaznik na char.
Natiast tworzac funkcje w Labview (obrazek w zalaczniku) nalezy zadeklarowac najpierw string o zadanej dlugosci znakow (tablica 1024 znakow char) a nastepnie przekazac go na wejscie CNODE. Na jego wyjsciu otrzymamy zmieniona zawartosc.
Pozdrawiam Maciek