Главная страница
    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.057 c
1-1108131846
Senti
2005-02-11 17:24
2005.02.27
Как получать и отправлять сообщение потоком


14-1107851666
Vlad Oshin
2005-02-08 11:34
2005.02.27
Поставлю памятник автору Radminов! и Вопрос


1-1108221507
TeNY
2005-02-12 18:18
2005.02.27
Что за команда Enum и как ей можно пользоваться


14-1107471384
Чайник
2005-02-04 01:56
2005.02.27
Кто знает где скачать документацию PhotoshopSDK


14-1107887756
sloug
2005-02-08 21:35
2005.02.27
Работа





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский