Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Синтаксис
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.07.2009, 13:08
smirnoff843 smirnoff843 вне форума
Прохожий
 
Регистрация: 03.07.2009
Сообщения: 5
Репутация: 10
Восклицание Обращение из Delphi к DLL написанной на C++

Здравствуйте! У меня вопрос по работе с типом puchar. Такая ситуация: имеется dll файл написанный на C++Builder. Из dll экспортируется функция следующим образом

Код:
extern "C" bool __declspec( dllexport ) func1(unsigned char *input, unsigned char *output);

В проекте Delphi импортируем эту функцию:

Код:
function func1(input: pointer; output: pointer): bool; cdecl;
external 'my.dll' name '_func1';

Работаем с импортированной функцией func1:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  i :integer;
  s : string;
  a: array[0..30000] of char;
  b: ^uchar;

  a2: array[0..60000] of uchar;
  b2: ^uchar;
begin
StrCopy(a, pchar(Memo1.Text));

b := @a;
b2 := @a2;

func1(b,b2); 

for I := 0 to Length(Memo1.Text) do
s := s + chr(a2[i]);
Memo2.Text := s;
end;

Проблема в том, что func1 видит только первый (нулевой) символ массива "a", а необходимо, чтобы весь массив был доступен для dll.

Вот в dll выводится на экран параметр input
Код:
ShowMessage((char *)input);

Объясните, пожалуйста, как правильно передать указатель на uchar из Delphi в dll. Заранее огромное спасибо!
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:47.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025