Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Dll [D5, Win2k]


swinole ©   (2003-01-29 04:44:00) 

Мастера, подскажите, плз, ьакую вещь.
Есть библиотека, в ней есть функция.
На VB она писывается так

Private Type ZIPnames
s(0 To 1023) As String
End Type

function ZpArchive (ByVal argc As Long, ByVal funame As String, ByRef argv As ZIPnames) As Long


Можно ли эту функцию использовать в Delphi и как её описать?
Какие типи переменных использовать при её вызове?


Digitman   (2003-01-29 09:02:00) [1]

Сомневаюсь, что VB-тип String по структуре совместим с Pascal-типом String (AnsiString).

Во всяком случае это можно проверить, набросав в Делфи DLL, экспортирующую ф-цию с единственным параметром типа const Value: String. В теле ф-ции можно попытаться либо выполнить ShowMessage(Value) либо под отладчиком изучить структуру переданных строковых данных. Если "номер прокатит", то

type
PZIPnames = ^TZIPnames;
TZIPnames = array[0..1023] of String;

function ZpArchive(const argc: LongWord; const funame: String; argv: PZIPnames): LongWord; stdcall; external "VBLib.DLL";

Но, вероятней всего, эти стр.типы будут несовместимы


Наверх

Титульная страница Поиск, карта сайта Написать письмо