Xors3D для Delphi 7
Вот решил написать враппер движка Xors3D для Delphi 7, вроди немного написал, но когда я пытаюсь запустить его то вылезает ошибка вот ниже код:
Код:
program Sample; "Sample.exe faulted with message: "access violation at 0x00407e26: write of address 0x00130000" Process Stopped. Use Step or Run to continue" Помогите решить эту проблему :) |
Ответ: Xors3D для Delphi 7
функцию вызываешь из dll каким методом cdecl или stdcall?
Попробуй так: procedure xFlip();cdecl; external 'xors3d' name '_xFlip@0"; и еще имена функций в dll чувствительны к регистру. |
Ответ: Xors3D для Delphi 7
Неа не помогло :( ... Может надо еще подобие функций писать что находятся в Xors3D.bb ?
К примеру как эта: Код:
Function xGraphics3D(width, height, depth = 16, mode = 0, vsync = 0) |
Ответ: Xors3D для Delphi 7
Собственно вот как я пишу:
Ниже файл Xors3DSDK.pas Код:
unit Xors3DSDK; |
Ответ: Xors3D для Delphi 7
Все всем спасибо проблемка решена :) Может в дальнейшем будут еще вопросы!!!Просто надо было вызывать функцию методом stdcall а не cdecl :) В особенности спасибо giraf за мысль :)
|
Ответ: Xors3D для Delphi 7
Бывает когда метод stdcall работает, а бывает и cdecl, все зависит от длл
|
Ответ: Xors3D для Delphi 7
Не стану мусорить созданием новой темы, поэтому напишу тут. Использую unit файл от товарища maxturbo, для написания программы в Delphi. Тестовый код:
Код:
xCreateLog (0,1,'xors_log.html'); Чет нифига не понимаю. Заработало когда опять поменял stdcall на cdecl. Хотя 5 минут назад нифига не происходила. Жаль что вопрос не по теме, но теперь такая же проблема с FastImage. :( |
Ответ: Xors3D для Delphi 7
Насколько я помню, делфи юзает свой велосипед для строк. А двиг юзает стандартные const char *, т.е. тупо массив символов.
|
Ответ: Xors3D для Delphi 7
xCreateLog (0,1,PChar('xors_log.html'));
xAppTitle(PChar('Test')); xLoadImage(PChar('test.png')); Попробуй. |
Ответ: Xors3D для Delphi 7
А откуда взялась идея в первый аргумент xCreateLog засовывать ноль?
Там допустимые значения от 1 до 7. |
Ответ: Xors3D для Delphi 7
И к чему приводит этот ноль?
|
Ответ: Xors3D для Delphi 7
Ни к чему. Лог не создается, все свободны, всем спасибо.
|
Ответ: Xors3D для Delphi 7
Большое спасибо. Немного посидев и подумав переделал файл заголовков. Нужно было передавать данные в библиотеку не ShortString, a PAnsiChar.
|
Ответ: Xors3D для Delphi 7
Дак в Windows повсеместно PChar и PAnsiChar.
Это пишут в любом учебнике Delphi. |
Часовой пояс GMT +4, время: 13:48. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot