diff --git a/src/grpc_interop.cc b/src/grpc_interop.cc index 24e4bfcf..a538492f 100644 --- a/src/grpc_interop.cc +++ b/src/grpc_interop.cc @@ -25,16 +25,15 @@ namespace grpc_labview //--------------------------------------------------------------------- void OccurServerEvent(LVUserEventRef event, gRPCid* data, std::string eventMethodName) { - LStr* lvMethodName = (LStr*)malloc(sizeof(int32_t) + eventMethodName.length() + 1); - lvMethodName->cnt = eventMethodName.length(); - memcpy(lvMethodName->str, eventMethodName.c_str(), eventMethodName.length()); - GeneralMethodEventData eventData; eventData.methodData = data; - eventData.methodName = &lvMethodName; + eventData.methodName = nullptr; + + SetLVString(&eventData.methodName, eventMethodName); + auto error = PostUserEvent(event, &eventData); - free(lvMethodName); + DSDisposeHandle(eventData.methodName); } //--------------------------------------------------------------------- @@ -479,4 +478,4 @@ LIBRARY_EXPORT int32_t SetLVRTModulePath(const char* modulePath) grpc_labview::SetLVRTModulePath(modulePath); return 0; -} +} \ No newline at end of file diff --git a/src/lv_interop.cc b/src/lv_interop.cc index 62cf5a82..aaba6194 100644 --- a/src/lv_interop.cc +++ b/src/lv_interop.cc @@ -109,14 +109,9 @@ namespace grpc_labview PostLVUserEvent = (PostLVUserEvent_T)dlsym(RTLD_DEFAULT, "PostLVUserEvent"); Occur = (Occur_T)dlsym(RTLD_DEFAULT, "Occur"); RTSetCleanupProc = (RTSetCleanupProc_T)dlsym(RTLD_DEFAULT, "RTSetCleanupProc"); - - if (NumericArrayResizeImp == nullptr || - PostLVUserEvent == nullptr || - Occur == nullptr || - RTSetCleanupProc == nullptr) - { - exit(grpc::StatusCode::INTERNAL); - } + DSNewHandleImpl = (DSNewHandlePtr_T)dlsym(RTLD_DEFAULT, "DSNewHandle"); + DSSetHandleSizeImpl = (DSSetHandleSize_T)dlsym(RTLD_DEFAULT, "DSSetHandleSize"); + DSDisposeHandleImpl = (DSDisposeHandle_T)dlsym(RTLD_DEFAULT, "DSDisposeHandle"); } #endif @@ -216,7 +211,7 @@ namespace grpc_labview return clusterOffset; #endif } - + int32_t GetTypeCodeForSize(int byteSize) { switch (byteSize)