Вверх ↑
Этот топик читают: Гость
Ответов: 3
Рейтинг: 0
#1: 2008-04-23 13:47:39 ЛС | профиль | цитата
Есть готовая библиотека функций, написанная неизвестно на чем и кем, но с подробным описанием содержимого. Проверено - на делфи все работает. Сам я в дэлфи не силен. Как правильно подключить эту библиотеку в программе на HiAsme? Примеры которые даны в хелпе и на форуме я посмотрел, но ответа не увидел. Заранее спасибо.
карма: 0

0
Ответов: 206
Рейтинг: 19
#2: 2008-04-23 14:23:23 ЛС | профиль | цитата
для начала дай саму библиотеку + код на делфи
карма: 0
Время : %time% Текущее время: %time%
0
Администрация
Ответов: 15295
Рейтинг: 1519
#3: 2008-04-23 15:35:41 ЛС | профиль | цитата
только ручками и только через IC
карма: 27
0
Ответов: 3
Рейтинг: 0
#4: 2008-04-23 16:36:33 ЛС | профиль | цитата
Dilma писал(а):
только ручками и только через IC


Т.е. мне необходимо создать новый сомпонент, а внутри компанента сделать вызовы данной библиотеки?
карма: 0

0
Ответов: 5227
Рейтинг: 587
#5: 2008-04-23 17:15:58 ЛС | профиль | цитата
а можно и с помощью Инструменты->Языки-> InlineCode (но всёже лучше с помощью редактора компонента), сам бы желал воотчию видеть такую обёртку для DLL, где например была бы пара функций но хорошо прокоментированых, а то пару раз как то давненько попробовал и не фига не получилось, чайник блин


карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 893
Рейтинг: 18
#6: 2008-04-23 23:16:23 ЛС | профиль | цитата
andrestudio писал(а):
а то пару раз как то давненько попробовал и не фига не получилось

Ага я тоже так пару раз помучался и бросил пустую затею , постле чего написал собственную библиотеку
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 5227
Рейтинг: 587
#7: 2008-04-24 10:30:57 ЛС | профиль | цитата
Byuik на чём писал?
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 1088
Рейтинг: 112
#8: 2008-04-24 10:57:21 ЛС | профиль | цитата
Несовсем в тему но может пригодится:
Вызов DLL(созданной на HiAsm) из "чистого" Delphi:
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1mparser.zip [11.7KB] [138]
Ответов: 2125
Рейтинг: 159
#9: 2008-04-24 11:41:39 ЛС | профиль | цитата
kulibin писал(а):
Как правильно подключить эту библиотеку в программе на HiAsme?

Примерно вот так:

Add(InlineCode,2552674,224,161)
{
WorkPoints=#9:doAdditor|
EventPoints=#9:onAdditor|
DataPoints=#1:x|1:y|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses KOL,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|9: public|19: x,y:THI_Event;|25: onAdditor:THI_Event;|49: procedure doAdditor(var dt:TData; idx:word);|5: end;|0:|45:function additor(x,y:double):double; stdcall;|0:|14:implementation|0:|53:function additor; external 'main.dll' name 'additor';|0:|32:procedure THiAsmClass.doAdditor;|18:var dx,dy: double;|5:begin|29: dx := ReadReal(dt, x, 0.0);|29: dy := ReadReal(dt, y, 0.0);|41: _hi_OnEvent(onAdditor, additor(dx,dy));|4:end;|0:|4:end.|
link(onAdditor,2588499:doMessage,[])
link(x,13632711:Value,[(230,146)(209,146)])
link(y,14388563:Value,[(237,145)(258,145)])
}
Add(Button,15802796,161,161)
{
Left=40
Top=25
link(onClick,2552674:doAdditor,[])
}
Add(Memory,14388563,252,98)
{
Default=Real(9)
}
Add(Message,2588499,280,161)
{
}
Add(Memory,13632711,203,98)
{
Default=Real(12.3)
}
карма: 1

1
Голосовали:andrestudio
Ответов: 3
Рейтинг: 0
#10: 2008-04-24 15:48:03 ЛС | профиль | цитата
Спасибо, tsdima. Попробую на днях о результатах сообщу.
карма: 0

0
Ответов: 5227
Рейтинг: 587
#11: 2008-04-24 16:17:33 ЛС | профиль | цитата
tsdima - СПАСИБО!

p.s - купил таки всёже книгу Delphi-7 С. Бобровского буду грызь потихоньку
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 205
Рейтинг: 3
#12: 2008-04-24 18:29:11 ЛС | профиль | цитата
хе а если я не создавал dll-ку то могу как нить таким способом к ней подключиться (я знаю что она на C+ вроде..)
карма: 1

0
Разработчик
Ответов: 26304
Рейтинг: 2146
#13: 2008-04-24 18:47:06 ЛС | профиль | цитата
millano писал(а):
если я не создавал dll-ку то могу как нить таким способом к ней подключиться

Да, можешь, если знаешь точки входа и параметры передачи переменных. Также точно у нас в пакете идет обращение, ну, например, к sqlite3.dll, которая написана далеко не на Delphi.
карма: 22

0
Ответов: 2125
Рейтинг: 159
#14: 2008-04-24 19:43:41 ЛС | профиль | цитата
nesco писал(а):
если знаешь точки входа и параметры передачи переменных

А ещё нужно знать конвенцию вызова процедур. В большинстве случаев это stdcall, но бывают и исключения (например длл-ка написанная на С++ и предназначенная для программы, также написанной на С++, тут ведь нет смысла менять родной способ вызова процедур). В любом случае документация не помешает.
карма: 1

0
Ответов: 893
Рейтинг: 18
#15: 2008-04-24 19:51:53 ЛС | профиль | цитата
andrestudio писал(а):
Byuik на чём писал?
на hiasm конечно ;)
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)