Главная страница
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.017 c
2-1257618815
andrewtitoff
2009-11-07 21:33
2009.12.27
Как разбить строку


1-1230031610
zulus5
2008-12-23 14:26
2009.12.27
PopurMenu в MDIChild


2-1257592439
Rydell
2009-11-07 14:13
2009.12.27
Как в DATASET изменить Тип поля, из ftBLOB в ftGraphic, ftMemo, .


15-1256614569
Big Joe
2009-10-27 06:36
2009.12.27
Домен на национальном языке


15-1256822775
Читинец
2009-10-29 16:26
2009.12.27
Мелкософт наехал не безработного.