Форум: "Потрепаться";
Текущий архив: 2003.08.18;
Скачать: [xml.tar.bz2];
ВнизПроблема с KOLmdvXLGrid Найти похожие ветки
← →
gyv (2002-11-28 13:51) [0]Делаю небольшой проект на KOL(без MCK). Понадобилось добавить в него ФОрму с гридом. Нашел нужный компонент, добавил исходник в проект, сделал в функции такой код
var ct, Form: PControl; i: integer;
begin
Form := NewForm( Applet, "***" ).SetSize( 500, 500 );
ct := NewmdvXLGrid( Form, 1, 1, gsStandard, [ xlgColSizing, xlgRowSizing, xlgColMoving, xlgRowMoving ] ).SetAlign( caClient );
// ct := NewmdvXLGrid( Form, 7, 7, gsStandard, [ ] );
Причем неважно какая из строчек "ct:=" за(рас)коментирована - результат один. При ее выполнении происходит ошибка 216 (AV). И происходит она внутри функции InitCustomData. Сначала она сбоила на NewFont, а затем еще раньше - на NewList. После прослеживания отладчиком выяснилось, что сбоит в TObj.Create на
constructor TObj.Create;
--> asm
//CALL System.@ObjSetup - Generated always by compiler
//JZ @@exit
PUSH ( отмечено стрелкой)Делаю небольшой проект на KOL(без MCK). Понадобилось добавить в него ФОрму с гридом. Нашел нужный компонент, добавил исходник в проект, сделал в функции такой код
var ct, Form: PControl; i: integer;
begin
Form := NewForm( Applet, "***" ).SetSize( 500, 500 );
ct := NewmdvXLGrid( Form, 1, 1, gsStandard, [ xlgColSizing, xlgRowSizing, xlgColMoving, xlgRowMoving ] ).SetAlign( caClient );
// ct := NewmdvXLGrid( Form, 7, 7, gsStandard, [ ] );
Причем неважно какая из строчек "ct:=" за(рас)коментирована - результат один. При ее выполнении происходит ошибка 216 (AV). И происходит она внутри функции InitCustomData. Сначала она сбоила на NewFont, а затем еще раньше - на NewList. После прослеживания отладчиком выяснилось, что сбоит в TObj.Create на
constructor TObj.Create;
--> asm
//CALL System.@ObjSetup - Generated always by compiler
//JZ @@exit
PUSH EAX
или на
constructor TObj.Create;
--> begin
Init;
(отмечено стрелкой), т.е. на начальном коде конструктора.
Что я делаю не так? Может, там есть хитрости при компилировании KOL с этим компонентом (типа USE_CONSTRUCTORS?) Одинаково сбоят как ASM_VERSION так и Pascal (адреса только разные). Пробовал ставить замену стандартных модулей - не помогает. KOL v.1.57, grid - тоже последняя.
← →
Gandalf (2002-11-28 17:07) [1]Не хочу бросать тень на плетень, возможно ошибка в компоненте(не обижаться, но такое бывает - сам не без греха).
Но например чистый MCK проет + mdvXLGrid бросили,Col,RowCount=3
. Запустили - вылетели ( KOnMCK=1.57(asm/pas), mdvXLGrid =1.00b, WinXP, Delphi5).
Насчет кода:
ct:PmdvXLGrid;
...
ct := PmdvXLGrid(NewmdvXLGrid( Form, 0, 0, gsStandard, [
... ^^^^^^^^^^
← →
mdw (2002-11-28 23:14) [2]
...При ее выполнении происходит ошибка 216 (AV). И происходит она внутри функции InitCustomData. Сначала она сбоила на NewFont, а затем еще раньше - на NewList.
У меня такая же фигня возникала (не устойчивая), причину выяснить не удалось:(...
Но вроде помогает изменение TabOrder, т.е. чем меньше, тем лучше.
← →
mdw (2002-11-29 00:10) [3]>на KOL(без MCK)
Поиграйся порядком создания контролов.
Да, кстати, а почему без MCK?
← →
gyv (2002-11-29 11:04) [4]2Gandalf
Изначальный вариант был именно такой. Выясняя причину раз 20 перепахивал исходник и в момент отсылки он был в таком виде.
Демка компилируется и работает "на ура", а брошенный в полупустой проек контрол вызывает такой перекос.
2mdw
Это сложно - контрол всего 1 на форме.
А без MCK - мне там особо визуальность не нужна. 7 кнопок на 1й форме и грид на другой. Вот и все. У меня MCK на D4 не встал 1 раз(что-то криво собрал или конфликтанул с чем-то) - все как на старом добром BP делаю ручками. Привычка.
← →
gyv (2002-11-29 11:10) [5]Забыл - сейчас D5UP1, платформа Win2KengSP3 (но она, скорее всего, неважна).
И еще - может, есть еще какой grid. Что-то я в самом KOL его не видел(???). Мне достаточно простого StringGrid. Изменение ширины колонок мышкой - желательно, но некритично. Остальное - неважно.
← →
mdw (2002-11-29 12:42) [6]2 gyv
Я сталкивался еще с такой фенькой: ставишь новую версию MCK(KOL) и проект начинает глючить, и пока не пересоберешь остальные использумые пакеты - неработает.... Хотя если MCK не используешь, то влиять не должно.
Вчера попробовал твой кусок кода - работает (D6up2). Если пришлешь конкретный кусок (глючащий) - поковыряюсь (KOLmdvXLGrid - мое детище). Хотя сам сталкивался с ошибкой при NewFont и NewList, но причины так и не понял - присто изменил порядок создания (двинул в начало) и заработало.
Да еще. В версии 1.00b капитальная ошибка при изменени кол-ва колонок\строк. В 1.00 - исправил.
← →
mdw (2002-11-29 13:29) [7]Кажется причину ошибки нашел. Как исправлю скину обновление
← →
gyv (2002-11-29 14:27) [8]2mdw
У меня KOL собирается вместе с проектом. Не оченьудобно, но зато отлаживать легко - где я накосячил - сразу вылезает (пусть и в другом месте ;)
Thnx.
← →
Gandalf (2002-11-29 15:01) [9]
> Я сталкивался еще с такой фенькой: ставишь новую версию
> MCK(KOL) и проект начинает глючить, и пока не пересоберешь
> остальные использумые пакеты - неработает.... Хотя если
> MCK не используешь, то влиять не должно.
Так и должно быть, это даже написано в инструкции по инсталяции КОЛиМСК (раньше было)- но их читает, инструкции-то.
← →
mdw (2002-11-29 16:14) [10]2 gyv
Ну вроде исправил, хотя то или не то - не знаю (У меня эта ошибка возникла при добавлении 2х Gridov). Обновление на delphi.mastak.ru отправил. ЕСли срочно могу намылить тебе, а то здесь может обновиться и через неделю...%)
← →
gyv (2002-12-06 13:59) [11]Прошу прощения, но это снова я.
Поставил новый вариант, но проблемы остались. Вернее, переместились. Если раньше AV вылезал в момент создания компонента, то теперь - в момент отрисовки. Текст проекта могу выслать (там текста кила на 4 в архиве).
← →
mdw (2002-12-06 15:25) [12]2gyv
Тяжело так ошибки ловить. Но вообще то предположения есть. Такое предложение: я немного покромсаю исходник и пришлю тебе, если ошибка исчезнет - буду хоть знать куда копать...
А еще, раз ошибка при отрисовке попробуй потключать в Paint процедуры отрисовки - там отдельно все рисуется. Опять же может локализовать удасться.
← →
gyv (2002-12-06 17:17) [13]если я раскоментирую
( Rect, Position.x, Position.y, ACanvas, IsCellSelected[Position.x, Position.y], True)если я раскоментирую
Cells[Position.x, Position.y].Draw(Rect, Position.x, Position.y, ACanvas, IsCellSelected[Position.x, Position.y], True);
вprocedure DrawSelect(ACanvas: PCanvas);
Падает (может, и не в ней), но причина, похоже, где-то там.
AV при обращении кPosition
← →
mdw (2002-12-06 17:42) [14]А попробуй вместо
IsCellSelected[Position.x, Position.y]
в
Cells[Position.x, Position.y].Draw(Rect, Position.x, Position.y, ACanvas, IsCellSelected[Position.x, Position.y], True);
поставить Тruе или False
← →
mdw (2002-12-06 18:16) [15]2gyv
А лучше Текст проекта пришли - проще будет
← →
Dimaxx (2002-12-16 00:59) [16]А что это за компонент такой? Может, кинете его или ссылку мне на мыло, плз? Спасибо...
← →
sniknik (2002-12-16 13:14) [17]Прям на этом сайте смотри. Ссылка сверху над темами.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.08.18;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.005 c