Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.003 c
14-58456
OlegID
2003-07-24 07:04
2003.08.18
МССКЛ+Д7. отношение


14-58389
Zheks
2003-08-04 12:36
2003.08.18
Печать StringGrida


14-58409
Эль
2003-02-14 13:55
2003.08.18
Сапер


14-58452
Ajax
2003-08-01 12:32
2003.08.18
Запуск программ


14-58403
Dmitric
2003-08-01 17:34
2003.08.18
D3 -> XP





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