Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.25;
Скачать: CL | DM;

Вниз

BUG: SizeGrip и ASM-версия NewForm   Найти похожие ветки 

 
ECM ©   (2005-10-13 15:01) [0]

Отправил письмо Владимиру ...
На всякий случай тут продублирую (вроде завтра версия 2.15 должна появиться...?...) :
Заметил одну неприятность в ASM-функции  NewForm.
(Почему-то в асм-версии пропал SizeGrip в углу статусбара - в PAS все
впорядке)

//[FUNCTION NewForm]
{$IFDEF ASM_VERSION}
function NewForm( AParent: PControl; const Caption: String ): PControl;
...
       INC      [EBX].TControl.fSizeGrip         // fSizeGrip = 1 !!!
       OR       byte ptr [EBX].TControl.fClsStyle, CS_DBLCLKS
       MOV      EDX, offset[WndProcForm]
       CALL     TControl.AttachProc
       MOV      EDX, offset[WndProcDoEraseBkgnd]
       MOV      EAX, EBX
       CALL     TControl.AttachProc
       POP      EDX
       MOV      EAX, EBX
       CALL     TControl.SetCaption
       {INC      [EBX].TControl.fSizeGrip
       INC      [EBX].TControl.fIsForm}
       DEC      WORD PTR [EBX].TControl.fIsForm <- ИМХО:Здесь задумывалось
"одним махом" присвоить FF(TRUE) и fSizeGrip и fIsForm,... НО... в fSizeGrip
УЖЕ сидит 1! Таким образом в WORD PTR(@fIsForm) = 0x0100 и после
декремента там будет 0x00ff, что соответсвует значениям
      fSizeGrip = FALSE(0x00)
      fIsForm   = TRUE (0xFF)
     
Предлагаю закомментировать строку:
       INC      [EBX].TControl.fSizeGrip

Тогда
       DEC      WORD PTR [EBX].TControl.fIsForm
будет работать правильно


 
Vladimir Kladov   (2005-10-15 16:21) [1]

выход версии уже вот-вот, я уже описание изменений делаю. Рою форум носом за последнюю неделю, пытаюсь вспомнить, что еще не сделано.


 
GMax   (2005-10-15 17:39) [2]

что-то мне подсказывает, что Вы о моём исправлении DateTime не прокомментировали ничего - могли и забыть :)

@@ -33017,6 +33017,6 @@
procedure TControl.SetDateTime(Value: TDateTime);
var ST: TSystemTime;
begin
-  DateTime2SystemTime( Value, ST );
+  if Not IsNAN(Value) then DateTime2SystemTime( Value, ST );


 
ECM ©   (2005-10-15 18:12) [3]

2Кладов
Напоминаю на всякий случай:
1) проверьте состояние многострадального объявления KOLAction(List) - должно быть объявлено в KOLAdd - его (KOLAdd) имхо лучше перевыложить - последние обновления его не смогли обновить.
2) mck*.inc вызовый Rpt(..,clWhite)


 
Vladimir Kladov   (2005-10-15 20:40) [4]

обновление есть, 2.15.
Вот насчет NAN - я наврное, пропустил. Но там IsNAN используется для установки флага "нет значения" - DTS_NONE=1. Проверю, конечно, что там не так, но уже не в этой версии.
Rpt - все исправлены были в базовом 2.10. От него все обновления теперь должны работать, я перевыложил все от 2.00 до текущей, которые изменились после верификации.


 
GMax   (2005-10-15 23:16) [5]

насчёт NAN:
вот именно для этого он и используется - снять чекбокс в DateTimePicker. и не получается - падает на Trunc(NAN) внутри DateTime2SystemTime

кстати, может всё-таки добавить в DateTimePicker  "property SystemTime", чтобы при необходимости избежать излишних преобразований туда-сюда ?



Страницы: 1 вся ветка

Текущий архив: 2006.06.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.062 c
2-1149559496
Василий
2006-06-06 06:04
2006.06.25
Прозрачность Textout


2-1149704397
Mr tray
2006-06-07 22:19
2006.06.25
в каком модуле содержится MAKELANGID?


15-1149171523
antonn
2006-06-01 18:18
2006.06.25
Обстановка изменилась?..


8-1137721293
STK
2006-01-20 04:41
2006.06.25
Как использовать компоненты для файлов tiff


2-1149505809
FiJer
2006-06-05 15:10
2006.06.25
Прочитать несколько INI для нескольких компонентов