|
Windows 7 x64 Home Basic генерирует посредника *r1.dll для COM-сервера
|
|||
---|---|---|---|
#18+
Использую локальный COM-сервер с CODEPAGE = 866 во встроенном config.fpw для работы с индексами по полям с "двоичным текстом" в досовских таблицах. Сервер CP866.dll построен как Single-threaded COM server (dll). Через несколько дней отладочной эксплуатации рядом с CP866.dll возникает дополнительный файл CP866r1.dll размером 4624 Kb, при том, что размер CP866.dll равен 35155 байт - в 131 раз меньше. Работоспособность не нарушается, пока не удалю CP866r1.dll. После этого даже восстановление CP866r1.dll не возвращает работоспособность сервера. Программа regsvr32.exe для любого из этих *.dll выдаёт какой-то сбой (не записал, какой). И даже удаление обеих *.dll и повторная постройка сервера не даёт успеха. Чтобы получить возможность построить в Visual Fox сервер CP866.dll заново, приходится восстанавливать инстоляцию Фокса с дистрибута. Повреждения CP866.dll явно не происходит. Этот же CP866.dll нормально работает на целевой (клинтской ПК), если положить приложение в пусковом каталоге рядом с ран-таймовскими файлами GdiPlus.dll, MsVcr71.dll, Vfp9r.dll, Vfp9rRus.dll. Файл CP866r1.dll в этом случае не требуется. Пока у меня подозрение на то, что я регистрирую COM-сервер программно каждый раз при запуске приложения и разрегистрирую его обратно при завершении приложения вот таким образом: DECLARE LONG WinExec IN Kernel32 STRING lpCmdLine, LONG uCmdShow m.Res_ln = WinExec ('regsvr32 /s' + m.Unreg_lc + m.DllPath_yc, SW_HIDE) CLEAR DLLS WinExec Но неясно, как наверняка проверить эту гипотезу. Что бы это значило, появление посредника *r1.dll, и как с этим бороться. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2013, 19:02 |
|
Windows 7 x64 Home Basic генерирует посредника *r1.dll для COM-сервера
|
|||
---|---|---|---|
#18+
Rostislav D. Kudryashov, Ситуация немного прояснилась. Посредник *r1.dll возникает при запуске реального фоксовского exe-приложения, а не в отладном режиме из среды разработки. И не только под Win7 x64, но и под WinXP x86. Но для чего он нужен, как от него отделаться, все равно загадка. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2013, 23:11 |
|
|
start [/forum/topic.php?fid=41&fpage=36&tid=1582800]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 142ms |
0 / 0 |