With V8i, mdlSystem_getTaskStatistics was implemented in stdmdlbltin.dll. In 32-bit VBA, this declaration works:
mdlSystem_getTaskStatistics
stdmdlbltin.dll
Declare Function mdlSystem_getTaskStatistics Lib "stdmdlbltin.dll" ( _ ByVal statisticsP As Long, _ ByVal taskIdP As String) As Long
With CONNECT I use a modified declaration for 64-bit VBA:
Declare PtrSafe Function mdlSystem_getTaskStatistics Lib "stdmdlbltin.dll" ( _ ByVal statisticsP As LongPtr, _ ByVal taskIdP As String) As Long
However, VBA can't find that function's implementation. Neither do I see it when I examine the exports from that DLL. Where is it?
Hi Jon,SDKSearch mdlSystem_getTaskStatistics; should provide a binary search result in: mdlbltin.lib.SDKSearch mdlSystem_getTaskStatistics verbose (takes longer, but includes product root and workspace locations), will provide the hint that most mdlbltin.lib entries also have runtime entries in ustation.dll (yes ustation.dll for MicroStation.exe) CONNECT Edition libraries.FYI. I saw the related post for this question (VBA test if dgn checked out from ProjectWise), so let me take a look (too) to see if I can get a portable CExpression approach to work in both V8i and CONNECT equally. If I find something worth a defect I will then file it and reply to the other post with any work-around and defect reference.
HTH,Bob
Answer Verified By: Jon Summers
Robert Hook said:ustation.dll for MicroStation.exe
Thanks! That has changed from V8i. Since the MicroStationAPI documentation for CONNECT omits VBA function declarations, we're struggling.
We've updated our article about using mdlSystem_getTaskStatistics to determine whether an MDL function is loaded.
Regards, Jon Summers LA Solutions