|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.10.2010, 11:30 | #1 |
Пользователь
Регистрация: 23.09.2009
Сообщений: 13
|
Передача списка указателей (TList) как параметр в dll
Доброго времени суток!
Опять я за помощью к знатокам )). Имеется программа написанная в Delphi5, которая работает с Dll. Переписал Dll на С++ (использ. С++Builder6). Вот хэдер: #ifdef __DLL__ # define DllUse __declspec(dllexport) #else # define DllUse __declspec(dllimport) #endif typedef int __fastcall (*TProgressProc) (int Count); extern "C"{ DllUse int __stdcall SetTypeOfOma(void); DllUse bool __stdcall isOMAPresent(void); DllUse void __stdcall StartPermanentReset(void); DllUse void __stdcall StopPermanentReset(void); DllUse bool __stdcall InitOma(void); DllUse void __stdcall DoneOma(void); DllUse bool __stdcall ReadSpectr( TProgressProc ProgrProc, bool Relay, int Num, int SumBy, double ExpTime, double DelayAfterFire, double IVSDelay, TList *Lst ); } #endif В функцию ReadSpectr передается список указателей, который в Delphi формируется так: GetMem(P,Opt.Straightedge.PixelCoun t*2); //Opt.Straightedge.PixelCount = 3698 SList.Add(P); В ReadSpectr происходит связь с устройством через параллельный порт и получение данных в буфер: unsigned short SumBuffer[3698]; Затем из буфера данные записываются по указателю в память: void CopyBuffer(unsigned short *dest) { for (int i = 0; i < PixelCount ; i++) *dest++ += SumBuffer[i]; } В результате полученные данные программа должна отобразить на компоненте Chart в виде спектра. Что в принципе и происходит, только после отображения графика вызывается исключение(стандартный обработчик заменен на свой). Сообщение имеет такой вид: |
28.10.2010, 11:33 | #2 |
Пользователь
Регистрация: 23.09.2009
Сообщений: 13
|
Никак не могу понять в результате чего вызывается данное исключение?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
получение списка экспортируемых из dll | wmzvov | Помощь студентам | 3 | 24.09.2010 19:28 |
Передача списка и combobox'а через indy udp | xatrix | Общие вопросы Delphi | 2 | 18.07.2010 16:14 |
Урезать длину списка TList | mutabor | Общие вопросы Delphi | 4 | 03.04.2010 12:22 |
Передача динамического массива как параметр ф-ции | kurdt | Общие вопросы Delphi | 2 | 26.04.2009 17:35 |
передача объектов как параметров функций в Dll | Umen | Общие вопросы Delphi | 9 | 12.11.2006 19:31 |