Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];

Вниз

VC модуль в проекте Delphi   Найти похожие ветки 

 
dima_matrix   (2003-07-03 21:23) [0]

И все же может кто-нибудь знает можно ли как-то статически скомпоновать модуль VC (в любом виде-obj, lib, dll) с проектом на Delphi? Очень необходимая вещь, был бы рад за любую помощь...


 
Poirot   (2003-07-03 21:26) [1]

с ДЛЛ проблемы недолжно быть!
Делаешь подетски например dll с функ int fun(int q);
в делфях
это часть имплементеёшана!
function f(q:integer):integer; extern "my.dll";


 
Poirot   (2003-07-03 21:28) [2]

хотя может вы что-то другое имели ввиду!
Скорей всего... длл статически помоему не компануется... а вот с обж и либ - тркдности есть - разбирали в недавнем прошлом!!!


 
Erik   (2003-07-04 10:34) [3]

Можно объектный фаил прилинковать из VC.


 
Poirot   (2003-07-04 10:42) [4]


> Erik ©

как сделаете - напишите?


 
Radionov Alexey   (2003-07-04 10:46) [5]

>Erik © (04.07.03 10:34)
Упаришься. DLL - самый быстрый путь


 
dima_matrix   (2003-07-04 19:33) [6]

Спасибо всем за ответы.
2 Poirot:
Я действительно имел в виду не совсем то - нужно СТАТИЧЕСКИ прилинковать модуль. Да, dll на то и динамическая библиотека чтоб динамически линковать, но мало ли сколько в мире извращений бывает, я думал может кто и сталкивался с таким :-)) Либы Делфи кажется напрочь не воспринимает, а вот с объектниками Alexey прав, в разных форматах объектники генерят майкрософтовские произведения и борландовские.

2 Erik:
Если знаешь как прилинковать - расскажи, пожалуйста, всем же интересно.


 
Poirot   (2003-07-04 19:35) [7]


> Либы Делфи кажется напрочь не воспринимает, а вот с объектниками
> Alexey прав, в разных форматах объектники генерят майкрософтовские
> произведения и борландовские.

вот к этому и была реплика - если у него получится, то путь напишет....


 
Dimaxx   (2003-07-04 23:46) [8]

OBJ (асмовский, vc и другой похожий) можно прилинковать с помощью {$I <имя obj-файла>}. Далее об.явить процедуры и вперед. Кто не понял - смотри в модуль zlib.pas - там как раз линкуются obj-файлы.


 
Dimaxx   (2003-07-04 23:46) [9]

Пардон, ошибочка вышла - не {$I}, а {$L}!


 
default   (2003-07-05 00:13) [10]

вот пример
файл PROG.ASM в нём описана внешняя процедура IntToBin

.386
model small
.code
IntToBin proc
public IntToBin

push ebx
xor ebx, ebx
mov ecx, 32
cycle:
shl eax, 1
jc bit_on
mov byte ptr [edx+ebx], "0"
jmp bit_off
bit_on:
mov byte ptr [edx+ebx], "1"
bit_off:
inc ebx
loop cycle
pop ebx
ret

IntToBin endp
end


далее используя утилиту TLINK.EXE(TLINK32.EXE)
получаем файл PROG.OBJ
TLINK PROG.ASM --> PROG.OBJ
далее пишем (в Delphi)

procedure IntToBin(Value: Cardinal; StrP: Pointer); external;
{$L C:\PROG.OBJ}

компилируем модуль и теперь можно использовать IntToBin


 
Poirot   (2003-07-05 02:08) [11]


> default ©

asm проходит - никто и не говорит что нет...
а вот от ВЦ - ошибка в формате обж вылетает... обж просто не линкуется с прогой.....


 
default   (2003-07-05 02:13) [12]

Poirot © (05.07.03 02:08)
может неправильное соглашение о вызове?
в Си параметры передаются справа налево, в паскале наоборот


 
default   (2003-07-05 02:15) [13]

Poirot © (05.07.03 02:08)
может неправильное соглашение о вызове?
в Си параметры передаются справа налево, в Паскале наоборот





 
dima_matrix   (2003-07-05 14:31) [14]

Все это хорошо и правильно :-))
Ассемблерные модули можно компилировать в разных форматах COFF или OMF и майкрософтовских и борландовских производителей, для этого параметры задаются. А TLINK, если я не ошибаюсь, еще и борландовское произведение, есстественно он генерит в формате OMF и Делфи чудесно все подымает.
По поводу параметров слева направо и справа налево - dll же подымаются легко, для этого stdcall и придумали.
А вотс форматами объектников очень плохо, VC компилятор творит все в COFF-формате, а Делфи, соответственно, в OMF. И, блин, в настройках я ничего интересного не нашел.
Видел только программу COFF2OMF, одну 94 года выпуска, видимо с тех пор изменились оба формата, потому как после конвертации получившийся объектник очень похож на OMF, но не совсем (использовал программулину ftyp для определения типа файлов), и Делфи его не понимает. И вторую видел в поствке к СиБилдеру, так она только либы и длли конвертит :-((. Может кто видел еще чего подобного? Был бы премного благодарен!! :-)))



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.009 c
14-55835
Феликс
2003-07-01 20:44
2003.07.17
Как так гарно получилось? :)


6-55700
Dion
2003-05-13 07:33
2003.07.17
Подскажите, Плз, как можно программно определить имя пользователя


1-55507
avkiev
2003-07-03 15:37
2003.07.17
Как инициализировать переменную типа IStream ?


1-55583
Max_
2003-07-02 15:39
2003.07.17
RichEdit и загрузка отформатированного текста!


3-55439
V-A-V
2003-06-24 14:12
2003.07.17
Progress для AdoQuery





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский