Перевод Headers.pas

Столкнулись с проблемой в использовании Far? Здесь можно получить помощь.
Post Reply
Docent1
Posts: 561
Joined: Thu 31 Mar, 2005 23:13
Been thanked: 1 time

Перевод Headers.pas

Post by Docent1 »

В Headers.c описано:
BOOL WINAPI _export IsArchive(const char *Name,const unsigned char *Data,int DataSize);
BOOL WINAPI _export OpenArchive(const char *Name,int *TypeArc);
int WINAPI _export GetArcItem(struct PluginPanelItem *Item,struct ArcItemInfo *Info);
BOOL WINAPI _export CloseArchive(struct ArcInfo *Info);
BOOL WINAPI _export GetFormatName(int TypeArc,char *FormatName,char *DefaultExt);
BOOL WINAPI _export GetDefaultCommands(int TypeArc,int Command,char *Dest);
В Headers.pas ничего нет. Можно ли это перевести так:

Function IsArchive(Name, Data: PChar; DataSize: Integer): Bool; Export;
Function OpenArchive(const Name: PChar; TipeArc: Integer): Bool; Export;
Function GetArcItem(PluginPanelItem: TPluginPanelItem;
ArcItemInfo: TArcItemInfo): Integer; Export;
Function CloseArchive(ArcInfo: TArcInfo): Bool; Export;
Function GetFormatName(Tipe: Integer; FormatName, DefaultExt: PChar): Bool; Export;
Function GetDefaultCommands(TipeArc, Command: Integer; Dest: PChar): Bool; Export;
----------
Ы?
Docent1
User avatar
zg
zero-gravity
Posts: 6038
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Перевод Headers.pas

Post by zg »

а смысл?
Docent1
Posts: 561
Joined: Thu 31 Mar, 2005 23:13
Been thanked: 1 time

Post by Docent1 »

zg

Да написал сходу fmt-модуль на pascale а он приводит к падению multiarc.dll. Все-таки наверно Name - это TWindowInfo.Name? Хоть бы прмер где взять (на Delphi).
Docent1
User avatar
Karbazol
Posts: 58
Joined: Wed 16 Mar, 2005 04:26
Location: Nizhni Novgorod, Russia
Contact:

Post by Karbazol »

Docent1
stdcall забыл. Надо примерно так:

Code: Select all

Function IsArchive(Name, Data: PChar; DataSize: Integer): Bool; stdcall;
Docent1
Posts: 561
Joined: Thu 31 Mar, 2005 23:13
Been thanked: 1 time

Post by Docent1 »

Karbazol
Спасибо большое! А Export; вконце и также
end;
Exports
IsArchive index 1,
OpenArchive index 2,
GetArcItem index 3,
CloseArchive index 4,
GetFormatName index 5,
GetDefaultCommands index 6; - писать не надо?
И Name и другие не Pointer? А то чего-то в С++ *-стоит?
Ё ма Ё, создатели, хоть бы в fmt.pas заголоки описали!
Docent1
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

Docent1, "создатели" на паскале не разговаривают :-)
User avatar
Karbazol
Posts: 58
Joined: Wed 16 Mar, 2005 04:26
Location: Nizhni Novgorod, Russia
Contact:

Post by Karbazol »

Docent1
Export на конце, насколько я помню можно опустить.
А в секции exports так же можно опустить index и name.
Post Reply

Return to “Нужна помощь”