Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как корректно передать строку(string, PChar) в DLL 
:(
    Опции темы
kemper
Дата 10.7.2003, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.7.2003

Репутация: нет
Всего: нет



Я хочу передать имя файла(тип TFileName, string, PChar это не важно) в процедуру DLL.

Я делаю следующее:
в основной программе
Код

          var
          conv: procedure(var l: ultype; fi : PChar);stdcall;
        ...
        LibHandle := LoadLibrary(PChar("MyDLL.dll"));
         if LibHandle >= 32 then
           begin
             @conv := GetProcAddress(LibHandle,"readfield");
             if addr(conv) <> nil then begin
                 ShowMessage(PChar(DateiFile));
                 conv(ResultMatrix, PChar(DateiFile));
               end
          ...


в DLL
Код

procedure readfield(var u1:ultype; fiName:PChar);
var
 FileName : string;
begin
   FileName := StrPas(fiName);
   ShowMessage(fiName);
   ShowMessage(FileName);
   AssignFile(fi, FileName);
....


в ShowMessage основной программы я вижу нормальное имя файла, а в DLL уже какую то ерунду.

Заранее благодарен
PM MAIL   Вверх
<Spawn>
Дата 10.7.2003, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



а где у тебя stdcall после прцедуры в ДЛЛ? (procedure readfield(var u1:ultype; fiName:PChar);stdcall)


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0667 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.