|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Результаты опроса: Стоит ли использовать ActiveX, написанный на Delphi, в своих приложениях | |||
Нет | 1 | 14.29% | |
Да | 3 | 42.86% | |
В зависимости от кривизны рук разработчика | 4 | 57.14% | |
Лучше писать ActiveX на другом языке | 2 | 28.57% | |
Опрос с выбором нескольких вариантов ответа. Голосовавшие: 7. Вы ещё не голосовали в этом опросе |
|
|
Опции темы | Поиск в этой теме |
21.02.2010, 23:25 | #11 | |
Форумчанин
Регистрация: 02.01.2010
Сообщений: 254
|
Цитата:
|
|
21.02.2010, 23:33 | #12 |
Новичок
Джуниор
Регистрация: 21.02.2010
Сообщений: 17
|
Это не может быть связано, что в примере массив объявляется как long?
|
21.02.2010, 23:33 | #13 | |
Новичок
Джуниор
Регистрация: 21.02.2010
Сообщений: 17
|
Цитата:
и если я инициализирую массив значениями до вызова функции, то в результате я получаю их же... Последний раз редактировалось Konstantin_V; 21.02.2010 в 23:36. |
|
21.02.2010, 23:36 | #14 |
Форумчанин
Регистрация: 02.01.2010
Сообщений: 254
|
Ну так результат функции объявлен как HRESULT и 0 в данном случае это S_OK, т.е. функция была выполнена успешно. Похоже, проблемы и не было вовсе
|
21.02.2010, 23:39 | #15 |
Новичок
Джуниор
Регистрация: 21.02.2010
Сообщений: 17
|
и если я инициализирую массив значениями до вызова функции, то в результате я получаю их же...
|
21.02.2010, 23:41 | #16 |
Форумчанин
Регистрация: 02.01.2010
Сообщений: 254
|
Хм, а после первого вызова Count <> 0?
|
21.02.2010, 23:43 | #17 |
Новичок
Джуниор
Регистрация: 21.02.2010
Сообщений: 17
|
и после второго <> 0
|
21.02.2010, 23:53 | #18 |
Форумчанин
Регистрация: 02.01.2010
Сообщений: 254
|
ну тогда показывайте код, у меня догадки вслепую кончились
|
21.02.2010, 23:55 | #19 |
Новичок
Джуниор
Регистрация: 21.02.2010
Сообщений: 17
|
Могу только свой код показать)))
procedure TfrmParent.ApplyFilter(ADataSet: TpFIBDataSet); type TArray = array[0..(MaxInt div SizeOf(Integer)) - 1] of Integer; PArray = ^TArray; var ConditionGlobalFilter: TCondition; ConditionEnable: Boolean; Filter: TFilters; FilterActive: Integer; ValuesCount: Integer; PValues: PArray; i: Integer; begin ADataSet.CancelConditions; try try ConditionGlobalFilter := ADataSet.Conditions.FindCondition(G lobalFilterName); except ConditionGlobalFilter := nil; end; if ConditionGlobalFilter <> nil then begin ConditionEnable := False; GlobalFilter.Connect; try for Filter := Low(TFilters) to High(TFilters) do begin if Filter in fActiveFilter then begin GlobalFilter.Is_Active(Ord(Filter), FilterActive); if FilterActive <> 0 then begin ConditionEnable := True; ValuesCount := 0; PValues := nil; GlobalFilter.Get_Values(Ord(Filter) , Integer(PValues), &ValuesCount); if ValuesCount > 0 then PValues := AllocMem(ValuesCount * SizeOf(Longint)) else PValues := nil; try if Assigned(PValues) then GlobalFilter.Get_Values(Ord(Filter) , Integer(PValues), &ValuesCount); for i := 0 to ValuesCount - 1 do begin ShowMessage(IntToStr(PValues^[i])); //*/ end; finally FreeMem(PValues); end; end; end; end; finally GlobalFilter.Disconnect; ConditionGlobalFilter.Enabled := ConditionEnable; end; end; finally ADataSet.ApplyConditions; end; end; |
21.02.2010, 23:59 | #20 |
Форумчанин
Регистрация: 02.01.2010
Сообщений: 254
|
Integer(PValues) <- так в данном случае делать нельзя. Попробуйте заменить на PValues^[ 0 ].
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание\использование своих DLL библиотек | Vol666 | Общие вопросы Delphi | 5 | 26.08.2009 11:55 |
использование в delphi com объектов | Anekdot | Помощь студентам | 0 | 18.06.2009 19:54 |
Использование JavaScript в Delphi... | Valdis | Общие вопросы Delphi | 2 | 27.09.2007 08:45 |
Использование JPEG в Delphi 7 | Aslan | Мультимедиа в Delphi | 11 | 02.08.2007 13:25 |
Использование функции Excel из Delphi | Геля | Общие вопросы Delphi | 3 | 07.06.2007 07:33 |