|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.01.2009, 10:40 | #1 |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
Проблема с DLL.
Не могу понять почему. На Borland C++ 6.0 написал DLL. Через неё мне нужно нужно прочитать файл и прочитаное вывести в программу.
Код:
Но вот если я пишу в DLL: Код:
#include <vcl.h> #include <windows.h> #include <string.h> Уже парюсь n-й день. Помогите пожалуйста. Последний раз редактировалось profi; 06.01.2009 в 10:43. |
06.01.2009, 13:49 | #2 |
Форумчанин
Регистрация: 24.07.2008
Сообщений: 279
|
Нельзя возвращать указатель на локальную переменную.
Ты видел хоть одну WinApi функцию, которая возвращает указатель на символ? Посмотри например как работает GetWindowText() - он работает с буфером Еще вариант передавать в твою func() указатель на CallBack-функцию вида void f(pchar s) (я си плохо знаю, но вроде так), которая будет находиться в основной программе.
Сказал и загрустил от бесспорности своей правоты.
|
06.01.2009, 16:04 | #3 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
Цитата:
|
|
06.01.2009, 17:03 | #4 |
Форумчанин
Регистрация: 24.07.2008
Сообщений: 279
|
Я понял что написал,
Я так понял "AnsiString func(int i)" экспортируемая функция внутри dll и используется внешней программой, если нет, то я не прав. А в чем именно выражается "не читаеся"?
Сказал и загрустил от бесспорности своей правоты.
|
06.01.2009, 18:08 | #5 |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
Вы правы, она импортируется программой-клиентом, я просто в ней не могу открыть и прочитать файл. Вот и все проблема. AnsiString func(int i) - это функция принимает i т.е. она в программе исспользуется в цикле for. Например так ей передаються параметры:
for(int i=0;i<3;i++) func(i); |
06.01.2009, 23:48 | #6 | |
Форумчанин
Регистрация: 24.07.2008
Сообщений: 279
|
Ты не удалил то что тебе писали когда ты создал проект dll?
Цитата:
А насчет не открывается что пишет? "Connot Open file..." или что? Попробуй написать абсолютный путь к txt файлу. А вообще это варварство в цикле столько раз создавать и удалять объекты. И переделай функцию.
Сказал и загрустил от бесспорности своей правоты.
Последний раз редактировалось 0nni; 06.01.2009 в 23:55. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Глобальный хук. Проблема с dll =\\ | Zeraim | Win Api | 11 | 19.12.2008 00:18 |
Проблема с dll( | DM_bite | Помощь студентам | 10 | 31.07.2008 16:05 |
И ещё проблема с DLL | Altera | Общие вопросы Delphi | 7 | 25.06.2008 23:45 |
Проблема с путями к БД и *.dll | honor | БД в Delphi | 5 | 25.01.2008 08:54 |