Какая разница где создана dll
В дельфи есть стандартный способ объявить dll в программе. Единственный нюанс способ передачи параметров - на сколько помню их два. Если известны процедуры/функции, передаваемые параметры и их типы - открой хелп - там всё есть.
Да, эти процедуры и параметры процедур известны, но почему-то при попытке использования этих процедур в проекте Дельфи6 возникает сообщение
"the application was unable to start correctly (0xc000007b). Click OK to close
the application."
procedure ImportByName;external 'MYDLL' name 'MYEXPORTPROC';
{ импорт по оригинальному имени }
procedure MyExportFunc1; external 'MYDLL';
Попробуй по другому объявить.
Добавлено через 17 минут 14 секунд
Сделай поиск строчки "delphi dll 0xc000007b" в гугле
Много интересного вылезает - основная мысль всётаки неправильная передача параметров.
исходник васика есть? еще в Delphi есть дампер dll, как я помню, вот им надо посмотреть exports-секцию в dll, сдается мне, что это сервер COM, а не просто подключаемая библиотечка. в общем, я склоняюсь к мысли, что вызов неправильный.
я же передаю этой процедуре тип данных WideString.
Что здесь неправильного в конкретной передаче параметра?
Добавлено через 7 минут 9 секунд
Исоходник есть, но как я его Вам пришлю, если здесь нельзя ссылку показывать?
Здесь есть какой-то tlb-файл, но я не знаю, как его использовать в совокупности с dll-файлом.
Добавлено через 3 минуты 20 секунд
tdump.exe я запустил и в его результатах export секция была нулевая
Добавлено через 2 минуты 41 секунду
Интересно, что этот dll-файл не удается зарегистрировать в регистрах Windows 7 с помощью команды
regsvr32 scload.dll
Janek➤ то тогда при запуске клавишой F9 возникает сообщение
"The module ScLoad.dll was loaded but the
entry-point DllRegisterServer was not found.
Make sure that "scload.dll" is a valid DLL or OCX file
and then try again."
обычно это говорит о том, что ты пытаешься регистрировать элемент, который в принципе не может быть зарегистрирован- объявляй ф-ции длл-ки у себя внутри в проекте как обычные виндовые апи (извини синтаксис дельфей уже не помню - слишком давно было) и посмотри в инете соответствие типов переменных в этих средах
кстати,
Цитата:
Janek➤ Исоходник есть, но как я его Вам пришлю, если здесь нельзя ссылку показывать?
Здесь есть какой-то tlb-файл, но я не знаю, как его использовать в совокупности с dll-файлом.
смысл тогда какой юзать эту длл-ку - портируй все к себе сразу (в васике все трогательно просто :))- меньше накладных расходов у тебя будет
как корректно импортировать в Дельфи 6 компоненты ActiveX, созданные в Visual Basic?
Через Project - Import Type Library пробовал, но потом в проекте Дельфи кричит, что использую незарегистрированный класс.