Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "Основна";
Поточний архів: 2002.01.08;
Завантажити: [xml.tar.bz2];

Вниз

Як правильно передати параметр функції в DLL-ке. Знайти схожі гілки


Chak   (2001-12-19 10:07) [0]

Передаю одне значення а в функцію приходить зовсім інше. Користуюся типом PChar. Якщо хто знає поясніть мені, заранее спасибо!



Алексей Петров   (2001-12-19 10:19) [1]

Перевір ідентичність угод про виклики



Chak   (2001-12-19 10:24) [2]

як можна її перевірити, я новачок в Delphi, що саме перевірити?



DieHard   (2001-12-19 10:28) [3]

Подивися в хелпе Calling conventions
Найчастіше при оголошенні функції в DLL використовується директива stdcall



Chak   (2001-12-19 10:39) [4]

Так я її і використовую, в зворотному напрямку передача параметра йде без проблем, що передаю те і отримую, а ось навпаки ну ніяк!
Якщо передаю допустм цііфру 8 як Integer то в DLL-ке отримую семизначні число, якщо як PChar - то в результаті виходить щось типу "$ вус". Звідки - не можу зрозуміти!



Алексей Петров   (2001-12-19 10:44) [5]

Тоді схоже, що в dll-ке не використовують.
Подивися, як описано в dll. якщо не можеш знайти опис - спробуй stdcall прибрати або замінити на cdecl.



Chak   (2001-12-19 13:06) [6]

Ні DLL-ку сам писав, є точно!



Алексей Петров   (2001-12-19 13:34) [7]

Дивно, якщо прототипи повністю збігаються ...
Якщо тільки в опціях проекту проблема яка - хоча у Дельфі угоди про виклики за замовчуванням не настроюються :(

Може прототип намалюєш, що проясниться?



Chak   (2001-12-19 14:57) [8]

=> Олексій Петров
Спасибі вам!!! Хотів шматок коду вислати показати що все у мене в порядку, але копіював і дивлюся немає stdcall !!!
дописав і все запрацювало! Як пов я так навіть не знаю, всерівно спасибі, два дня мучився :)))) Дякую!



сторінки: 1 вся гілка

Форум: "Основна";
Поточний архів: 2002.01.08;
Завантажити: [xml.tar.bz2];

наверх









Пам'ять: 0.57 MB
Час: 0.052 c
3-21923
казанок
2001-11-30 02:16
2002.01.08
Абстрактний питання про оптимізацію.


1-22035
smuggler
2001-12-18 14:02
2002.01.08
текстовий редактор2


1-22142
Початківець
2001-12-20 10:42
2002.01.08
ReplaceDialog


4-22488
Arick
2001-10-31 09:20
2002.01.08
як дізнатися ім'я завантаженої Dll


4-22507
Slaviq
2001-11-06 17:55
2002.01.08
Системні іконки





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська