Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ActiveX на основе RxCalcEdit выпадает с access violation / 1 сообщений из 1, страница 1 из 1
19.08.2003, 10:29
    #32239868
slydiman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ActiveX на основе RxCalcEdit выпадает с access violation
Сделал ActiveX на основе RxCalcEdit, при загрузке в IE выпадает с access violation. Аналогичный ActiveX на основе TDateTimePicker прекрасно работает.

Положил RxCalcEdit на TActiveForm - все в порядке. Но это не удобно, нужно переписывать все свойства ActiveX объекта.

TRxCalcEdit является наследником TCustomComboEdit (файл ToolEdit.pas из пакета RXLib)

В конструкторе создается кнопка (справа от поля Edit).

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
constructor TCustomComboEdit.Create(AOwner: TComponent); 
begin 
  inherited Create(AOwner); 
{$IFDEF RX_D3} 
  ControlStyle := ControlStyle + [csCaptureMouse]; 
{$ENDIF} 
  AutoSize := False; 
  FDirectInput := True; 
  FClickKey := scAltDown; 
  FPopupAlign := epaRight; 
  FBtnControl := TWinControl.Create(Self); 
{$IFDEF WIN32} 
  with FBtnControl do 
    ControlStyle := ControlStyle + [csReplicatable]; 
{$ENDIF} 
  FBtnControl.Width := DefEditBtnWidth; 
  FBtnControl.Height :=  17 ; 
  FBtnControl.Visible := True; 
  FBtnControl.Parent := Self;                    // Access violation  здесь !!! 
  FButton := TEditButton.Create(Self); 
  FButton.SetBounds( 0 ,  0 , FBtnControl.Width, FBtnControl.Height); 
  FButton.Visible := True; 
  FButton.Parent := FBtnControl; 
  TEditButton(FButton).OnClick := EditButtonClick; 
  Height :=  21 ; 
  FDefNumGlyphs :=  1 ; 
  FGlyphKind := gkCustom; 
end; 


Еще точнее access violation наступает в процессе прорисовки созданной кнопки.
Сразу после FBtnControl.Parent := Self;
вызывается TCustomComboEdit.WMSize,
потом TCustomComboEdit.UpdateBtnBounds, и ... access violation

Причем после нажатия ОК, ActiveX нормально прорисовывается и работает дальше.

Может есть какой патч для RXLib, где кнопка в TCustomComboEdit создается каким-то другим образом (не в конструкторе)?

Кроме того есть другая проблема - не работают кнопки стрелок и backspace.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ActiveX на основе RxCalcEdit выпадает с access violation / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]