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

Вниз

Обработка данных основного приложения через DLL   Найти похожие ветки 

 
Алексей   (2005-02-10 21:48) [0]

Смысл в следующем:
Основная программа передает в процедуру подключаемой ДЛЛ
в виде параметра указатель на структыру данных. В ходе обработки функцией ДЛЛ данных по этому указателю возникает ошибка INVALID POINTER OPERAITION.
В чем проблема. Если переводить дословно то получается что была совершена некорректная операция, ноя я все проверил ошибок как бы и нет!
Еще обна особенность в том, что эта ошибка возникает в цикле при его прохождении в 3-й раз.
Я проверял - значения всех переменных корректны, все структуры инициализированны и заполнены.
Что делаь ?        ;)


 
Eraser ©   (2005-02-10 21:51) [1]

Что за структура?
Внутри программы ты изменяешь эту структуру?


 
Алексей   (2005-02-10 22:36) [2]

type

  TD = record
  inn_ : string;
  data_ : string;
  prim : string;
  de : string;
  kr : string;
  ot_kogo : string;
   end;
  I_NN = class   abs : array[1..1000000] of TD;
  id : integer;
constructor create;
  end;

такая же структура определена и в ДЛЛ, она инициализируется так:
Procedure Data_To_Array(IN___ : Pointer;M:Pointer;PrBar:TProgressBar);
*-----------------------
a1_dta := IN___;
a2_dta := M ;
inn := I_NN(IN___);
*---------------------


 
Alexander Panov ©   (2005-02-10 22:44) [3]

Сразу вопрос по поводу передачи строк и соглашениях о вызовах.


 
Юрий Зотов ©   (2005-02-10 22:45) [4]

Структура содержит длинные строки. Используйте ShareMem.


 
Eraser ©   (2005-02-10 22:59) [5]

Алексей
Если строки потенциально короче 255 символов- используй тип shortstring.


 
Алексей   (2005-02-12 09:17) [6]

Спасибо, всё дело было в ShareMem, только теперь после завершения программы вылетает ошибка.????????


 
Eraser ©   (2005-02-12 11:40) [7]

Алексей

ИМХО, лучше не использовать ShareMem, а обходиться стандартами Windows, как это делают API функции.



Страницы: 1 вся ветка

Текущий архив: 2005.02.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.086 c
1-1107949648
Gost
2005-02-09 14:47
2005.02.27
Как вынуть названия полей таблицы и запихнуть их в ComboBox?


1-1108394254
Garry
2005-02-14 18:17
2005.02.27
Как работать в Дельфи с HEX кодами....


3-1107125560
Solenko
2005-01-31 01:52
2005.02.27
Просмотр помеченных на удаление


3-1107180484
YK
2005-01-31 17:08
2005.02.27
проблемы с DBNavigator


1-1108203908
tazik
2005-02-12 13:25
2005.02.27
Как выполнить/запустить файл?