Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как можно реализовать связывание
|
|||
|---|---|---|---|
|
#18+
Есть такая программа программа checkxml для проверки файлов 2-ндфл и файлов ПФР у нее есть библиотека CPSNXML.dll, эта библиотека не регистрируется с помощью функции regsvr32 а мне необходимы вызовы функций из библиотеки Declare Function cpsnInitLib Lib "CPSNXML" (hParent As Long, ByVal sBaseDir As String) As Long Declare Function cpsnInitLib2 Lib "CPSNXML" (hParent As Long, ByVal sBaseDir As String, ByVal sKladrDir As String) As Long Declare Function cpsnValidate Lib "CPSNXML" (ByVal sXmlFileName As String, ByRef nError As Long, ByRef nWarning As Long) As Long Declare Function cpsnValidateZ Lib "CPSNXML" (ByVal sXmlFileName As String) As Long Declare Function cpsnGetLogFileName Lib "CPSNXML" (ByVal sXmlFileName As String, ByVal sLogFileName As String, ByVal nLogFileNameLen As Long, ByVal bFullPath As Long) As Long Declare Function cpsnFreeLib Lib "CPSNXML" () As Long т.е. я могу только скопировать в папку программу файл CPSNXML.dll, тогда все работает. Но постоянно его копировать неудобно, версия программы часто меняется, а хотелось бы реализовать как то так указаьб в переменной путь к программе chtckxml и как-то обращаться к новой версии библиотеки, что можно придумать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 15:55 |
|
||
|
Как можно реализовать связывание
|
|||
|---|---|---|---|
|
#18+
Зачем файл CPSNXML.dll копировать постоянно? Он же не меняется. Или меняется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 16:05 |
|
||
|
Как можно реализовать связывание
|
|||
|---|---|---|---|
|
#18+
да, этот файл cpsnxml.dll постоянно меняется, т.е. это основной файл проверочной программы. Во многих программах, написанных на других языках программирования, это как-то сделано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 16:31 |
|
||
|
Как можно реализовать связывание
|
|||
|---|---|---|---|
|
#18+
Так вот реализовано на Дельфи @cpsnInitLib:=nil; xmlLibHandle:=LoadLibrary(xmlC_dir+'\cpsnxml.dll'); if xmlLibHandle >= 32 then begin @cpsnInitLib := GetProcAddress(xmlLibHandle,'cpsnInitLib'); и т.д. ... т.е. как в visual basic прописать путь к библиотеке cpsnxml.dll ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 16:46 |
|
||
|
Как можно реализовать связывание
|
|||
|---|---|---|---|
|
#18+
ArmaniТак вот реализовано на Дельфи @cpsnInitLib:=nil; xmlLibHandle:=LoadLibrary(xmlC_dir+'\cpsnxml.dll'); if xmlLibHandle >= 32 then begin @cpsnInitLib := GetProcAddress(xmlLibHandle,'cpsnInitLib'); и т.д. ... т.е. как в visual basic прописать путь к библиотеке cpsnxml.dll в декларации этот путь и указывается, но подход как в дельфи у вас здесь не пройдёт легко. если очень хочется, то можете погуглить, были способы такого вызова c++ библиотек из бейсика, но слишком наворочено будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 16:54 |
|
||
|
Как можно реализовать связывание
|
|||
|---|---|---|---|
|
#18+
Armani, можно и через LoadLibrary, но не нужно, тем более, что она (точнее, LoadLibraryExW) вызывается автоматически при первом вызове каждой функции, объявленной Declare. Объявляйте в Declare имя библиотеки без пути, но перед (первым) вызовом делайте ChDrive и ChDir в каталог установки библиотеки. Перед этим можно запомнить текущий диск и каталог, потом вернуться назад. Можно оформить этот приём в виде функций-оболочек задекларированных функций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 16:56 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36690406&tid=2159657]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 123ms |

| 0 / 0 |
