А ниче поделывать и ненадо, я только за))
Сейчас зкад в нерабочем состоянии - перевожу поддержку shx\ttf на "новые" рельсы, уж больно она страшная после многих переделок - как допилю, закомитю.
Спасибо!
Модератор: Модераторы
kazalex писал(а):Ну, вот так работает из OnCreate формы:
- Код: Выделить всё
With TComboBox.CreateParented(Handle) Do
Try
Self.Caption := Format('ComboBox.Height = %d', [Height]);
Finally
Free;
End;
Проверил на XP и Ubuntu (GTK2) - везде актуальные значения.
zub писал(а):В последних ревизиях Lazarus этот способ отвалился, что собственно и стоило ожидать от подобного хака((
zub писал(а):Но не факт и то что фича из делфи для размещения своих контролов на чужих формах вообще должна работать в лазаре (на невиндовых виджесетах)
With TComboBox.Create(NIL) Do
Try
ParentWindow := Self.Handle;
Self.Caption := Format('ComboBox.Height = %d', [Height]);
Finally
Free;
End;
zub писал(а):создание контролов в винде (в других виджесетах хз) событийно ориентированное
zub писал(а):CreateParented(Handle) подтекает - несколько раз созается FItems, предидущие значения утекают; c ParentWindow := Handle такой проблемы нет.
E:\zcad\cad\zcad.exe nosplash updatepo qnll qsi
Heap dump by heaptrc unit
2376760 memory blocks allocated : 142560943/150483368
2376758 memory blocks freed : 142560695/150483112
2 unfreed memory blocks : 248
True heap size : 101253120
True free heap : 3796160
Should be : 101252736
Call trace for block $15B49510 size 124
Block content: 34AA78000000000008BF7500000000000000000000000000000000000000000000000000B404190000000000A895AB1700000000000100004801000049010000460100004B010000440100004A010000430100005001000051010000470100004E010000000000000000000000000000000000006101000008000000 -
4
$005B57BD TWIN32WSCUSTOMCOMBOBOX__GETITEMS, line 1069 of ./win32/win32wsstdctrls.pp
$00582CA5 TCUSTOMCOMBOBOX__INITIALIZEWND, line 31 of ./include/customcombobox.inc
$0056AA19 TWINCONTROL__CREATEWND, line 7456 of ./include/wincontrol.inc
$0056A2D1 TWINCONTROL__CREATEHANDLE, line 7340 of ./include/wincontrol.inc
$0056B431 TWINCONTROL__HANDLENEEDED, line 7786 of ./include/wincontrol.inc
$005642C4 CHECKHANDLEALLOCATED, line 3446 of ./include/wincontrol.inc
$00563F94 TWINCONTROL__DOALLAUTOSIZE, line 3497 of ./include/wincontrol.inc
$BAADF00D
Call trace for block $002AC678 size 124
Block content: 34AA78000000000008BF7500000000000000000000000000000000000000000000000000B404180000000000B059DF0E00000000000100004801000049010000460100004B010000440100004A010000430100005001000051010000470100004E010000000000000000000000000000000000006101000008000000 -
4
$005B57BD TWIN32WSCUSTOMCOMBOBOX__GETITEMS, line 1069 of ./win32/win32wsstdctrls.pp
$00582CA5 TCUSTOMCOMBOBOX__INITIALIZEWND, line 31 of ./include/customcombobox.inc
$0056AA19 TWINCONTROL__CREATEWND, line 7456 of ./include/wincontrol.inc
$0056A2D1 TWINCONTROL__CREATEHANDLE, line 7340 of ./include/wincontrol.inc
$0056B431 TWINCONTROL__HANDLENEEDED, line 7786 of ./include/wincontrol.inc
$005642C4 CHECKHANDLEALLOCATED, line 3446 of ./include/wincontrol.inc
$00563F94 TWINCONTROL__DOALLAUTOSIZE, line 3497 of ./include/wincontrol.inc
$BAADF00D
Вернуться в Разработки на нашем сайте
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3