В этой форме есть такой код:
Private Sub LvwJobs_DblClick()
...
rz = DdeInitialize(idInst, AddressOf DdeCllback, 0, 0)
hszVBServer = DdeCreateStringHandle(idInst, VBServerName, CP_WINANSI)
hszVBTopic = DdeCreateStringHandle(idInst, VBTopicName, CP_WINANSI)
hConv& = DdeConnect(idInst, hszVBServer, hszVBTopic, ByVal 0&)
If hConv Then
DataBuf = StrConv(LvwJobs.SelectedItem.text, vbFromUnicode)
Ub& = UBound(DataBuf)
Lb& = LBound(DataBuf)
DdeClientTransaction DataBuf(Lb), Ub - Lb + 1, hConv, hszItem&, CF_TEXT, XTYP_EXECUTE, 0, 0
DoEvents
DdeDisconnect hConv
end if
....
end sub
Соотвественно, в Модуле Приложения есть ф-я AppDdeCallback:
Select Case wType
.....
case XTYP_EXECUTE
Buf_Len = DdeGetData(hData&, ByVal 0&, 0, 0)
ReDim IncomingBuf(0 To Buf_Len - 1)
Buf_Pointer = DdeGetData(hData, IncomingBuf(0), Buf_Len, 0)
adr$ = StrConv(CStr(IncomingBuf), vbUnicode)
Ret = DDE_FACK
DoEvents
...
end select
Всё работает, если запускаю проект Приложения и откомпилированную DLL.
Если компилирую Приложение, идёт ошибка "Subscript out of range", возникающая в ActiveX.Dll при вызове ф-и DdeClientTransaction.