Собрал работающий код:
VBA
Private Declare Sub test Lib "test.dll" (ByRef tabl1() As Double)
Sub TWS()
Dim tabl1(0 To 7) As Double
MsgBox (tabl1(6))
Call test(tabl1)
MsgBox (tabl1(7))
End Sub
Delphi
unit testU;
interface
uses ActiveX,SysUtils;
procedure test(var tabl1: PSafeArray); stdcall ...
Найдено 5 результатов
- 19.04.2013 12:30:16
- Форум: Lazarus
- Тема: Обращение к DLL (fpc) из VBA(excel)
- Ответы: 14
- Просмотры: 11042
- 17.04.2013 09:12:14
- Форум: Lazarus
- Тема: Обращение к DLL (fpc) из VBA(excel)
- Ответы: 14
- Просмотры: 11042
Re: Обращение к DLL (fpc) из VBA(excel)
Widowmaker писал(а):type TRealVector = array of double;
procedure test(const size_of_tabl1: longint; var tabl1: TRealVector); export; stdcall;
А как при этом выглядит обращение из VBA к test?
- 16.04.2013 09:23:58
- Форум: Lazarus
- Тема: Обращение к DLL (fpc) из VBA(excel)
- Ответы: 14
- Просмотры: 11042
Re: Обращение к DLL (fpc) из VBA(excel)
приятно, что мой примитивный вопрос вызвал дискуссию, но может быть кто-нибудь подскажет, что неправильно в приведенном мной коде
- 15.04.2013 15:42:10
- Форум: Lazarus
- Тема: Обращение к DLL (fpc) из VBA(excel)
- Ответы: 14
- Просмотры: 11042
Re: Обращение к DLL (fpc) из VBA(excel)
А обойтись без SAFEARRAY никак нельзя?
- 15.04.2013 15:09:16
- Форум: Lazarus
- Тема: Обращение к DLL (fpc) из VBA(excel)
- Ответы: 14
- Просмотры: 11042
Обращение к DLL (fpc) из VBA(excel)
При выполнении макроса при обращении к test
выдается сообщение:
run-time error "49"
bad DLL calling convention
Если параметры не массивы, все работает.
Ниже привожу исходники.
Спасибо
<<----------------- ЭТО FPC ----------------------------->>
unit testU;
interface
procedure test(var tabl1 ...
выдается сообщение:
run-time error "49"
bad DLL calling convention
Если параметры не массивы, все работает.
Ниже привожу исходники.
Спасибо
<<----------------- ЭТО FPC ----------------------------->>
unit testU;
interface
procedure test(var tabl1 ...
