Здравствуйте. Извиняюсь, что немного не по теме Форума, но вижу, что тут есть специалисты и рассматривались похожие проблемы. В общем, не в Excel, а в CorelDraw используется макрос, который взаимодействует с dll, сделанным в Delphi. Всё было сделано давным давно под 32 битное программное обеспечение. Сейчас встала задача обновления используемого dll и использование x64 ПО. Новый CorelDraw x32 без проблем заработал с новым dll x32 на старом макросе, но CorelDraw x64 отказался работать с dll x64 и просто экстренно завершает работу.
Почитав по этому вопросу темы, добавил PtrSafe после Declare. Но ничего не изменилось - как только идет обращение к dll x64 сразу происходит закрытие CorelDraw. Запуск макроса под отладчиком VBA тоже ничего не показывает, а так же закрывает программу. Помогите, пожалуйста, подружить макрос с dll x64.
Почитав по этому вопросу темы, добавил PtrSafe после Declare. Но ничего не изменилось - как только идет обращение к dll x64 сразу происходит закрытие CorelDraw. Запуск макроса под отладчиком VBA тоже ничего не показывает, а так же закрывает программу. Помогите, пожалуйста, подружить макрос с dll x64.
Код |
---|
Private Declare PtrSafe Function GetParams Lib "C:\Program Files\Corel\CorelDRAW Graphics Suite 2020\Draw\DLLs\My.dll" (ByVal Dir As String) As Boolean Sub SetParams() Dim res Dim Dir As String Dir = ActiveDocument.FilePath res = GetParams(Dir) End Sub |