Форум: "Основная";
Текущий архив: 2009.12.27;
Скачать: [xml.tar.bz2];
Внизимпорт библиотеки скомпилиной под VS 6.0 Найти похожие ветки
← →
Антон.Киев (2009-01-09 19:43) [0]Доброго времени суток!
Проблема заключается в том, что в библиотечной функции которую я пытаюсь импортировать, один из входных параметров имеет тип std::string. Какой эквивалент задать ему в делфи? PChar не подошёл. Вобщем всё что не пробовал валит приложение после вызова этой функции. Спасибо за помощь.
← →
Сергей М. © (2009-01-09 20:27) [1]А отладчик на что ?
← →
Сергей М. © (2009-01-09 20:58) [2]А отладчик на что ?
← →
Антон.Киев (2009-01-09 21:27) [3]К сожалению директивы ассемблера и стандартный Access Violation мне ничего не говорят. Я думаю, что я неверно задаю тип параметра при импорте функции. В документации у него тип std:string. Какой тип использовать в Делфи?
← →
Сергей М. © (2009-01-09 22:01) [4]
> директивы ассемблера и стандартный Access Violation мне
> ничего не говорят
Это печально.
Пока они не заговорят, врял ли что-то путное получится.
> Какой тип использовать в Делфи?
Зачем же ты сишный string экспортируешь ?
Экспортируй указатель на char - ему в Делфи при импорте соответствует PChar
← →
Антон.Киев (2009-01-09 22:10) [5]Та не экспортирую я сишный. Ставил я PChar при импорте. Всё-равно валится приложение. Так вот этот сишный string - это же объект с кучей функций, я веду к тому, что это не просто массив чаров. Значит памяти он требует больше чем PChar. Ну и к тому же внутри импортируемой функции могут использоваться некоторые методы этого std::string. И если я туда отдам просто PChar запросто вылезет Access Violation. На пока я вижу только один вариант: написать на сях dll в ней сделать импорт нужной функции, а экспортировать обёртку с нормальными входными параметрами типа char*. Вот. Но думалось что есть вариант попроще.
← →
Сергей М. © (2009-01-09 22:18) [6]
> этот сишный string - это же объект с кучей функций
Заметь - CИшный объект.
Спрашивается, откуда в Делфи возьмутся сишные объекты ?
> написать на сях dll в ней сделать импорт нужной функции,
> а экспортировать обёртку с нормальными входными параметрами
> типа char*. Вот
Вот !
Так и следует поступить.
← →
KSergey © (2009-01-11 11:17) [7]у сишников и дельфистов одно на уме: кроме них ничего не свете не бывает...
← →
KSergey © (2009-01-11 11:18) [8]а модификация исходников на С++ возможна? как-то слабо верится, что такое может быть в сколь-нибудь распространенном продукте, хоят всякое бывает, конечно...
← →
Антон.Киев (2009-01-11 20:49) [9]
> у сишников и дельфистов одно на уме: кроме них ничего не
> свете не бывает...
Не понял к чему это )
> а модификация исходников на С++ возможна? как-то слабо верится,
> что такое может быть в сколь-нибудь распространенном продукте,
> хоят всякое бывает, конечно...
Нет исходников есть только билды (
← →
KSergey © (2009-01-11 21:19) [10]> Антон.Киев (11.01.09 20:49) [9]
> > у сишников и дельфистов одно на уме: кроме них ничего не
> > свете не бывает...
> Не понял к чему это )
К тому, что видел много раз сделанные в дельфи dll с торчащими наружу строками (обычными, дельфийскими), а то и вовсе компонентами.
Ну а тут, значится, и сишники такие же больные попались.
> Нет исходников есть только билды (
Тогда только прокси-dll поможет, как и говорилось выше.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2009.12.27;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c