Я хотел вставить в IC (в uses) библиотеку Synapse:
http://synapse.ararat.cz/ (httpsend.pas, ssl_openssl.pas)
но она просит:
- файл SysUtils.dcu
- файл SysUtils.pas
а там пошло, поехало, компилятор начал просить всякие файлы из Delphi...
Я создал библиотеку DLL в Delphi, вставил туда функцию, подключил модули Synapse, написал инморт функции в InlineCode.
Но компилятор начал требовать поставление класа из Hiasm, и так...
Этот топик читают: Гость
|
Ответов: 33
Рейтинг: 2
|
|||
| карма: 1 |
|
|
Ответов: 1161
Рейтинг: 160
|
|||
|
В этой библиотеке используется VST, а не KOL. Переписывание этой библиотеки под KOL будет огромнейшим баттхертом...
|
|||
| карма: 0 |
| ||
| Голосовали: | milan_bomb |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
|
milan_bomb писал(а): написал инморт функции в InlineCode.где код? milan_bomb писал(а): Но компилятор начал требовать поставление класа из Hiasmгде текст? LainX писал(а): Переписывание этой библиотеки под KOL будет огромнейшим баттхертом...LainX, вниметельнее топик читаем - портирование заменено выносом ф-ла в dll |
|||
| карма: 26 |
| ||
| Голосовали: | milan_bomb |
|
Ответов: 33
Рейтинг: 2
|
|||
| карма: 1 |
| ||
| файлы: 2 | code_19159.txt [1.1KB] [173], code_19160.txt [514B] [122] |
|
Ответов: 4673
Рейтинг: 768
|
|||
|
в code_19159.txt
function THiAsmClass.libLogin(Login:String; Pass:String; Admin:String; AdminsPass:String):String; external 'mlmaster';
Это что, метод класса можно объявить как внешний? Что-то я такого не припомню. code_19160.txt тебе не удастся скомпилировать. В mlmaster.dpr убери все упоминания о THiAsmClass. Запиши функцию libLogin в экспорт библиотеки. Затем объяви функцию libLogin вне класса в code_19159.txt. Напиши метод в THiAsmClass и в нем уже вызывай функцию из библиотеки. |
|||
| карма: 26 |
| ||
| Голосовали: | milan_bomb |
|
Ответов: 33
Рейтинг: 2
|
|||
|
'#pas' убрать - его причепил тег "code";
В mlmaster.dpr я добавил в uses: "... ,kol, Share, Debug;" для того, чтоб обьявить клас THiAsmClass типа TDebug, что и требует компилятор Delphi в Hiasm (по поводу DLL), и получаю: [Error] Windows.pas(19): Invalid compiler directive: 'SMARTLINK' [Fatal Error] SysUtils.pas(19): Could not compile used unit 'Windows.pas' а при компиляции в Hiasm: Генерация кода целевого языка Компоновка проекта... Command line: dcc32.exe "D:\Programs\HiAsm\Elements\delphi\code\xhttp.dpr" "-UD:\ch\Project Kuzm\GetMoney\." -Q Borland Delphi Version 12.0 Copyright (c) 1983,98 Inprise Corporation D:\Programs\HiAsm\Elements\delphi\code\hiInlineCode_4C872B0.pas(46) Error: Not enough actual parameters D:\Programs\HiAsm\Elements\delphi\code\hiDLL_4C8AC1C.pas(8) Fatal: Could not compile used unit 'hiInlineCode_4C872B0.pas' Сборка завершена. |
|||
| карма: 1 |
|
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
|
библиотека должна выглядеть так
использование в hiasm |
|||
| карма: 26 |
| ||
| Голосовали: | milan_bomb |
|
Ответов: 33
Рейтинг: 2
|
|||
|
А что такое "Runtime error 204 at 00003035"?
Я в справке Hiasm такого не нашел... Это возникает после использования точки ActionResult комп. Message. Сам Message возникает, после него - Message с заголовком "Error" и текстом "Runtime error 204 at 00003035". |
|||
| карма: 1 |
|
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
|
ошибка во время исполнения программы номер 204 по адресу 00003035
|
|||
| карма: 26 |
| ||
| Голосовали: | milan_bomb |
|
Ответов: 33
Рейтинг: 2
|
|||
|
Так то все работает...
Хотя я использую _hi_OnEvent(onResult,Result); для Message, он вызывается только один раз. В следующие разы вылазит Message с ошибкой и программа закрывается. Вообще то, IC будет в цикле, я не знаю, как этого избежать... |
|||
| карма: 1 |
|
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
|
этим и отличается программирование в тексте от программирования схемой - наличием проблем с выделением или освобождением памяти.
milan_bomb писал(а): я не знаю, как этого избежать...и никто не узнает пока не изучит ваши коды в IC и в DLL ф-ции |
|||
| карма: 26 |
|
|
Ответов: 33
Рейтинг: 2
|
|||
|
Так, значит, оно импортирует функцию при каждом doInit?
|
|||
| карма: 1 |
|
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
|
нет, не значит
|
|||
| карма: 26 |
|
|
Ответов: 33
Рейтинг: 2
|
|||
|
Есть ли способ как-то обновить все это?
|
|||
| карма: 1 |
|
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
|
обновить что до чего?
|
|||
| карма: 26 |
|
15



Поиск
Друзья
Администрация