Главная страница
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.041 c
15-1149056867
Новичоккк
2006-05-31 10:27
2006.06.25
Несколько TClientSocket


2-1149582114
XTD
2006-06-06 12:21
2006.06.25
procedure TForm1.FormCreate(Sender: TObject); Параметры формы


1-1147543175
RUNaum
2006-05-13 21:59
2006.06.25
Перенос и отлов панели.


2-1149512127
VitV
2006-06-05 16:55
2006.06.25
interbase+delphi удаление блоб


15-1148497229
Kerk
2006-05-24 23:00
2006.06.25
00:00