Не вызывается
Не вызывается
Люди помогите - пробую сделать минимальный плагин как написано на сайте - но там для VC, а у меня: Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
Не Вызывается FAR-м функция SetStartupInfo(struct PluginStartupInfo *Info) - я не могу получить жизненно важные для плугина адреса сервисных функций
При этом отлично отрабатывают OpenPlugin(int, int) и GetPluginInfo(struct PluginInfo *Info)
Я не разбираюсь во всяких там _export или __declspec(dllexport) и думаю дело именно в этом - в спецификаторах описания функции.
Уже как только не писал. Как надо правильно в этом компиляторе?
Не Вызывается FAR-м функция SetStartupInfo(struct PluginStartupInfo *Info) - я не могу получить жизненно важные для плугина адреса сервисных функций
При этом отлично отрабатывают OpenPlugin(int, int) и GetPluginInfo(struct PluginInfo *Info)
Я не разбираюсь во всяких там _export или __declspec(dllexport) и думаю дело именно в этом - в спецификаторах описания функции.
Уже как только не писал. Как надо правильно в этом компиляторе?
видимо придется все таки разбираться - посмотрел tdump
Exports from farplugin.dll
4 exported name(s), 4 export addresse(s). Ordinal base is 1.
Sorted by Name:
RVA Ord. Hint Name
-------- ---- ---- ----
00001238 1 0000 __stdcall SetStartupInfo(PluginStartupInfo *)
00001268 2 0001 GetPluginInfo
000012C4 3 0002 OpenPlugin
00009158 4 0003 ___CPPdebugHook
Exports from farplugin.dll
4 exported name(s), 4 export addresse(s). Ordinal base is 1.
Sorted by Name:
RVA Ord. Hint Name
-------- ---- ---- ----
00001238 1 0000 __stdcall SetStartupInfo(PluginStartupInfo *)
00001268 2 0001 GetPluginInfo
000012C4 3 0002 OpenPlugin
00009158 4 0003 ___CPPdebugHook
Сравниваю с нормальным плагином
Сравню с "нормальным", работающим плагином:
Section: Exports
Flags: 00000000
Time Stamp: 00000000
Major Version: 0000
Minor Version: 0000
Exports from FarFtp.dll
18 exported name(s), 18 export addresse(s). Ordinal base is 1.
Sorted by Name:
RVA Ord. Hint Name
-------- ---- ---- ----
0000C968 6 0000 ClosePlugin
0000CF80 17 0001 Compare
0000C810 4 0002 Configure
0000CD64 13 0003 DeleteFiles
0000C4CC 1 0004 ExitFAR
0000CAC8 8 0005 FreeFindData
0000CBD0 11 0006 GetFiles
0000C98C 7 0007 GetFindData
0000CB08 9 0008 GetOpenPluginInfo
0000C574 3 0009 GetPluginInfo
0000CDF4 14 000A MakeDirectory
0000C838 5 000B OpenPlugin
0000CF30 16 000C ProcessEvent
0000CEE8 15 000D ProcessKey
0000CCD0 12 000E PutFiles
0000CB44 10 000F SetDirectory
0000C4D8 2 0010 SetStartupInfo
00034194 18 0011 ___CPPdebugHook
ага
Section: Exports
Flags: 00000000
Time Stamp: 00000000
Major Version: 0000
Minor Version: 0000
Exports from FarFtp.dll
18 exported name(s), 18 export addresse(s). Ordinal base is 1.
Sorted by Name:
RVA Ord. Hint Name
-------- ---- ---- ----
0000C968 6 0000 ClosePlugin
0000CF80 17 0001 Compare
0000C810 4 0002 Configure
0000CD64 13 0003 DeleteFiles
0000C4CC 1 0004 ExitFAR
0000CAC8 8 0005 FreeFindData
0000CBD0 11 0006 GetFiles
0000C98C 7 0007 GetFindData
0000CB08 9 0008 GetOpenPluginInfo
0000C574 3 0009 GetPluginInfo
0000CDF4 14 000A MakeDirectory
0000C838 5 000B OpenPlugin
0000CF30 16 000C ProcessEvent
0000CEE8 15 000D ProcessKey
0000CCD0 12 000E PutFiles
0000CB44 10 000F SetDirectory
0000C4D8 2 0010 SetStartupInfo
00034194 18 0011 ___CPPdebugHook
ага
Увы-увы
увы. убрал лишние квалификаторы - получил:
Exports from farplugin.dll
4 exported name(s), 4 export addresse(s). Ordinal base is 1.
Sorted by Name:
RVA Ord. Hint Name
-------- ---- ---- ----
00001238 1 0000 SetStartupInfo(PluginStartupInfo *)
00001268 2 0001 GetPluginInfo
000012C4 3 0002 OpenPlugin
00009158 4 0003 ___CPPdebugHook
Так! А что это за хвостик - хрень (PluginStartupInfo *)?
Искажение имен что ли - счас extern попробуем воткнуть
Exports from farplugin.dll
4 exported name(s), 4 export addresse(s). Ordinal base is 1.
Sorted by Name:
RVA Ord. Hint Name
-------- ---- ---- ----
00001238 1 0000 SetStartupInfo(PluginStartupInfo *)
00001268 2 0001 GetPluginInfo
000012C4 3 0002 OpenPlugin
00009158 4 0003 ___CPPdebugHook
Так! А что это за хвостик - хрень (PluginStartupInfo *)?
Искажение имен что ли - счас extern попробуем воткнуть
Ура я победил - согнулись шведы!
Exports from farplugin.dll
4 exported name(s), 4 export addresse(s). Ordinal base is 1.
Sorted by Name:
RVA Ord. Hint Name
-------- ---- ---- ----
00001238 1 0000 GetPluginInfo
000012C4 3 0001 OpenPlugin
0000127C 2 0002 SetStartupInfo
00009158 4 0003 ___CPPdebugHook
все зафурычило!
однако по моделям вызова и экспорту функций придется литературу почитать
Exports from farplugin.dll
4 exported name(s), 4 export addresse(s). Ordinal base is 1.
Sorted by Name:
RVA Ord. Hint Name
-------- ---- ---- ----
00001238 1 0000 GetPluginInfo
000012C4 3 0001 OpenPlugin
0000127C 2 0002 SetStartupInfo
00009158 4 0003 ___CPPdebugHook
все зафурычило!
однако по моделям вызова и экспорту функций придется литературу почитать
- WARP ItSelf
- Самый умный
- Posts: 1011
- Joined: Tue 15 Mar, 2005 23:19
- Contact: