Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];

Вниз

Обработка данных основного приложения через 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.042 c
14-1107345166
Никита
2005-02-02 14:52
2005.02.27
Почему кладовка заперта?


1-1107859186
Zloy
2005-02-08 13:39
2005.02.27
Смена модального окна


1-1108329881
iskatel
2005-02-14 00:24
2005.02.27
StringGrid...


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


4-1105397977
GanibalLector
2005-01-11 01:59
2005.02.27
GetOpenFileName/GetSaveFileName





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский