Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.12.27;
Скачать: CL | DM;

Вниз

импорт библиотеки скомпилиной под 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 - это же объект с кучей функций


Заметь  - шный объект.
Спрашивается, откуда в Делфи возьмутся сишные объекты ?


> написать на сях 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
2-1257695352
Семен Кевларвестов
2009-11-08 18:49
2009.12.27
AssignFile и файл с юникодом в имени


15-1256894913
ford
2009-10-30 12:28
2009.12.27
парсить web страницы посоветуйте


15-1256379385
DVM
2009-10-24 14:16
2009.12.27
Посоветуйте как лучше поступить.


2-1257580554
FIL-23
2009-11-07 10:55
2009.12.27
Трехмерное рисование графиков


3-1227877267
Xmen
2008-11-28 16:01
2009.12.27
Таблица из текстового файла