|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.09.2014, 21:15 | #1 |
Регистрация: 27.09.2009
Сообщений: 8
|
Помогите с переводом куска кода на Delphi в C++ Builder
Всем добрый вечер! Мне нужно перевести код написанный на Delphi в С++ Builder, если есть у кого-то какие-то идеи подскажите пжл.
Код:
|
09.09.2014, 11:36 | #2 |
Регистрация: 27.09.2009
Сообщений: 8
|
Часть уже перевел
Код:
Код:
|
09.09.2014, 14:07 | #3 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
#define OpenDLL OpenDLLPlus
extern "C" int __stdcall OpenDLLPlus(const char* OpName, const char* Psw, const char* DevName, const char* Baudrate, int FlagOem); Потом подключаем azimuth.lib Мне не совсем понятно почему OpenDLL вызывается напрямую а StartSeans через LoadLibrary и GetProcAddress. |
09.09.2014, 17:06 | #4 |
Регистрация: 27.09.2009
Сообщений: 8
|
не я так придумал, а по другому не хочет работать
Попробовал эту функцию в деле Код:
[ILINK32 Error] Error: Unresolved external 'OpenDLLPlus' referenced from C:\...\DEBUG\UNIT1.OBJ можно и StartSeans вызвать напрямую Function StartSeans: Integer; stdcall; far; external 'azimuth.dll' name 'StartSeans'; А как можно вызвать функцию OpenDLL через LoadLibrary может так проще будет Последний раз редактировалось Stilet; 09.09.2014 в 18:04. |
10.09.2014, 10:16 | #5 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
alexey6522
Чтобы работало, надо сделать для DLL файл LIB с помощью implib и подключить его к проекту. Тогда линкер ругаться не будет. А проще, наверное, описать OpenDll как указатель и взять его GetProcAddress по аналогии с StartSeans. |
10.09.2014, 17:45 | #6 |
Регистрация: 27.09.2009
Сообщений: 8
|
А как описать OpenDll как указатель и взять его GetProcAddress по аналогии с StartSeans?
|
10.09.2014, 17:56 | #7 |
Регистрация: 27.09.2009
Сообщений: 8
|
implib может проигнорить часть ф-ций из либы и их не будет видно в приложении, по этому проще?
|
15.09.2014, 15:48 | #8 |
Регистрация: 27.09.2009
Сообщений: 8
|
Неужели никто не знает как переделать эту функцию
Код:
Пробовал таким вот образом, не получилось Код:
Код:
|
16.09.2014, 22:10 | #9 |
Регистрация: 27.09.2009
Сообщений: 8
|
инициализацию я сделал, устройство подключается нормально.
Код:
Код:
в оригинале эта функция на Delphi выглядит таким образом и работает нормально. Код:
|
17.09.2014, 00:25 | #10 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Насколько я понимаю, GetFldStr возвращает указатель, который переписывает тот указатель, который вы выделили, соответственно потом освобождаете не ту память.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Трансляция куска кода с си на делфи | Pavel_Filatov | Общие вопросы Delphi | 5 | 22.07.2014 20:05 |
Занимаюсь переводом кода с Си на Delphi. Вроде перевел, но осталась парочка нюансов | munthrekosh | Общие вопросы Delphi | 7 | 25.12.2013 09:34 |
[Delphi] Сшить 3 куска кода (WinApi) | SartAlfard | Помощь студентам | 0 | 17.10.2011 19:11 |
Разбор куска кода. | Alexcomeback | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 05.04.2011 18:14 |
Помогите пожалуйста с переводом Delphi на C++ | Jupiter | Помощь студентам | 0 | 07.07.2009 23:33 |