Декларирование пользовательского класса DELPHI <=> VB

HOME_X
Дата: 24.09.2019 08:00:46
Доброго дня господа

Delphi DLL - делаю вызов из VBA

Описываю функцию в Delphi
function MyFunction(const filename: PAnsiChar): Integer; stdcall;


Описываю функцию в VBA
Private Declare Function MyFunction Lib "mydll.dll" (ByVal filename As String) As Long

Конструкции ясны и работоспособны

Хотелось бы иметь в качестве параметра передать пользовательский класс (или указатель него)
function MyFunction(const filename: TmyClass): Integer; stdcall;
function MyFunction(const filename: PmyClass): Integer; stdcall;


Как описываю тип в VBA
Private Declare Function MyFunction Lib "mydll.dll" (ByVal filename As Object) As Long  - не подходит 
Private Declare Function MyFunction Lib "mydll.dll" (ByVal filename As Any) As Long      - не подходит
Private Declare Function MyFunction Lib "mydll.dll" (ByVal filename As Variant) As Long - не подходит


Возможно так = LONG ?
Private Declare Function MyFunction Lib "mydll.dll" (ByVal filename As Long) As Long
Но как описать длинную целую в исходном коде DLL и применительно к классу или указателю на этот класс

Спасибо
wadman
Дата: 24.09.2019 08:14:08
HOME_X
Хотелось бы иметь в качестве параметра передать пользовательский класс (или указатель него)

Классы совместимы между делфи и бейсиком?
HOME_X
Дата: 24.09.2019 08:21:43
wadman,

Класс типа record ...
А можно ли передать указатель ? и как это сделать ?
ma1tus
Дата: 24.09.2019 08:35:17
HOME_X
Класс типа record ...
А можно ли передать указатель ?

А каким образом (в виде кода VBA) предполагается использовать там этот указатель ?
wadman
Дата: 24.09.2019 08:40:15
HOME_X
Класс типа record ...

Что-то вроде такого https://stackoverflow.com/questions/28369364/passing-a-delphi-record-type-to-vb6-dll
HOME_X
Дата: 24.09.2019 09:17:35
wadman
HOME_X
Класс типа record ...

Что-то вроде такого https://stackoverflow.com/questions/28369364/passing-a-delphi-record-type-to-vb6-dll


Принято - работаю

А не могли бы подкинуть пример где в качестве примера был бы указатель
(НЕ указатель конкретный тип......) такое возможно ?


Спасибо
ziv-2014
Дата: 24.09.2019 10:19:35
ziv-2014
Дата: 24.09.2019 10:26:44
HOME_X
Дата: 24.09.2019 10:56:05
ziv-2014,

Смотрел еще OleVariant http://qaru.site/questions/8472309/how-to-pass-string-from-vba-to-delphi-dll-avoiding-sharemem-using

Но все равно не получил эффекта
ziv-2014
Дата: 24.09.2019 12:13:36
HOME_X
ziv-2014,

Смотрел еще OleVariant http://qaru.site/questions/8472309/how-to-pass-string-from-vba-to-delphi-dll-avoiding-sharemem-using

Но все равно не получил эффекта

Там все сделано через одно место.
Можно передавать PAnsiChar, PWideChar и WideString. Вопрос, а какой формат строки в VBA? Он точно один из перечисленных?