powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Декларирование пользовательского класса DELPHI <=> VB
12 сообщений из 12, страница 1 из 1
Декларирование пользовательского класса DELPHI <=> VB
    #39866026
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня господа

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

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



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


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

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



Как описываю тип в VBA
Код: vbnet
1.
2.
3.
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 и применительно к классу или указателю на этот класс

Спасибо
...
Рейтинг: 0 / 0
Декларирование пользовательского класса DELPHI <=> VB
    #39866033
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_XХотелось бы иметь в качестве параметра передать пользовательский класс (или указатель него)
Классы совместимы между делфи и бейсиком?
...
Рейтинг: 0 / 0
Декларирование пользовательского класса DELPHI <=> VB
    #39866036
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

Класс типа record ...
А можно ли передать указатель ? и как это сделать ?
...
Рейтинг: 0 / 0
Декларирование пользовательского класса DELPHI <=> VB
    #39866045
ma1tus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_XКласс типа record ...
А можно ли передать указатель ?
А каким образом (в виде кода VBA) предполагается использовать там этот указатель ?
...
Рейтинг: 0 / 0
Декларирование пользовательского класса DELPHI <=> VB
    #39866048
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_XКласс типа record ...
Что-то вроде такого https://stackoverflow.com/questions/28369364/passing-a-delphi-record-type-to-vb6-dll
...
Рейтинг: 0 / 0
Декларирование пользовательского класса DELPHI <=> VB
    #39866061
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanHOME_XКласс типа record ...
Что-то вроде такого https://stackoverflow.com/questions/28369364/passing-a-delphi-record-type-to-vb6-dll

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

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


Спасибо
...
Рейтинг: 0 / 0
Декларирование пользовательского класса DELPHI <=> VB
    #39866101
ziv-2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Декларирование пользовательского класса DELPHI <=> VB
    #39866105
ziv-2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Декларирование пользовательского класса DELPHI <=> VB
    #39866127
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ziv-2014,

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

Но все равно не получил эффекта
...
Рейтинг: 0 / 0
Декларирование пользовательского класса DELPHI <=> VB
    #39866182
ziv-2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_Xziv-2014,

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

Но все равно не получил эффекта
Там все сделано через одно место.
Можно передавать PAnsiChar, PWideChar и WideString. Вопрос, а какой формат строки в VBA? Он точно один из перечисленных?
...
Рейтинг: 0 / 0
Декларирование пользовательского класса DELPHI <=> VB
    #39866189
ziv-2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,
Строки в VBA судя по хелпу соответствую типу PAnsiChar в делфи.
PAnsiChar требует указателя на строку в стеке. Его надо передать из VBA и будет счастье.
...
Рейтинг: 0 / 0
Декларирование пользовательского класса DELPHI <=> VB
    #39866603
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ziv-2014,

Счастье полное - передача данных integer,String, указателя на пользовательских класс
Все в норме - спасибо
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Декларирование пользовательского класса DELPHI <=> VB
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]