- This topic has 4 replies, 2 voices, and was last updated 10 years ago by JohnG.
-
AuthorPosts
-
October 24, 2014 at 10:05 pm #36337JohnGParticipant
Hello,
The “Replace Component” function in GExperts is a very handy tool. However, when trying to replace a standard vcl component with an Alpha component, I often get AV messages. It can get so bad I need to restart Delphi. There seems to be no rhyme or reason as to when or which components, or which version of Delphi or Alpha Controls. Have others seen this? Any idea what causes this?
John
October 25, 2014 at 6:27 am #52681SupportKeymasterHello!
Could you localize which control was changed when this error occurs?
October 30, 2014 at 4:00 pm #52691JohnGParticipantQuote:Could you localize which control was changed when this error occurs?
The components I've mainly done conversions on are: TLabel, TEdit, TPanel, TMemo, TComboBox, TRadioGroup, TGroupbox. It doesn't seem to be related to a particular component — it's happened with all that I've tried to convert. It's not consistent: it may start with (for example) attempting to convert a TPanel to TsPanel, producing an AV. After that, any other conversion attempts are usually (but not always) doomed until I restart Delphi. Sometimes I can convert several components before things begin to fall apart, other times problems happen immediately.
I've used the free version of AC with D7, D2010, XE2 and XE3. I purchased the full version last year, starting with v8.x, and now at v9.17 (working mainly with XE2 now). Conversion problems have occurred through all AC, Delphi, and GExperts versions.
In v8.x and previous AC versions, I would get an AV error. With v9.x, there is a more intelligent message, that appears to come from GExperts (attempting to convert TButton to TsButton):
[AC v9.17, GExperts v1.36, in DXE2 Pro (with updates), on Win7/64 Pro]
Error
tsbutton is not a valid component class to replace with..
OK Details >>
============== Error Details ==========================
[0AEB2795]{GExpertsRSXE2.dll} INITWIZARD0001 + $67AD1
[50332EEB]{vcl160.bpl } Vcl.Controls.TControl.Click (Line 7320, “Vcl.Controls.pas” + 9) + $8
[50357392]{vcl160.bpl } Vcl.StdCtrls.TCustomButton.Click (Line 5160, “Vcl.StdCtrls.pas” + 3) + $2
[50357EC0]{vcl160.bpl } Vcl.StdCtrls.TCustomButton.CNCommand (Line 5621, “Vcl.StdCtrls.pas” + 1) + $D
[50332995]{vcl160.bpl } Vcl.Controls.TControl.WndProc (Line 7204, “Vcl.Controls.pas” + 91) + $6
[503372F3]{vcl160.bpl } Vcl.Controls.TWinControl.WndProc (Line 9976, “Vcl.Controls.pas” + 152) + $6
[5035705C]{vcl160.bpl } Vcl.StdCtrls.TButtonControl.WndProc (Line 5002, “Vcl.StdCtrls.pas” + 13) + $4
[503325D0]{vcl160.bpl } Vcl.Controls.TControl.Perform (Line 6982, “Vcl.Controls.pas” + 10) + $8
[50337443]{vcl160.bpl } Vcl.Controls.DoControlMsg (Line 10045, “Vcl.Controls.pas” + 12) + $11
[50337ED7]{vcl160.bpl } Vcl.Controls.TWinControl.WMCommand (Line 10320, “Vcl.Controls.pas” + 1) + $5
[5044D1F8]{vcl160.bpl } Vcl.Forms.TCustomForm.WMCommand (Line 6105, “Vcl.Forms.pas” + 3) + $4
[50332995]{vcl160.bpl } Vcl.Controls.TControl.WndProc (Line 7204, “Vcl.Controls.pas” + 91) + $6
[20F90B36]{designide160.bpl} DeskUtil.SetFocusHook (Line 462, “DeskUtil.pas” + 4) + $C
[503372F3]{vcl160.bpl } Vcl.Controls.TWinControl.WndProc (Line 9976, “Vcl.Controls.pas” + 152) + $6
[5044A021]{vcl160.bpl } Vcl.Forms.TCustomForm.WndProc (Line 4344, “Vcl.Forms.pas” + 201) + $5
[50336948]{vcl160.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 9689, “Vcl.Controls.pas” + 3) + $6
[500B6890]{rtl160.bpl } System.Classes.StdWndProc (Line 13878, “System.Classes.pas” + 8) + $0
[20F90B36]{designide160.bpl} DeskUtil.SetFocusHook (Line 462, “DeskUtil.pas” + 4) + $C
[503373F0]{vcl160.bpl } Vcl.Controls.TWinControl.DefaultHandler (Line 10017, “Vcl.Controls.pas” + 30) + $17
[50333340]{vcl160.bpl } Vcl.Controls.TControl.WMLButtonUp (Line 7453, “Vcl.Controls.pas” + 1) + $6
[50332995]{vcl160.bpl } Vcl.Controls.TControl.WndProc (Line 7204, “Vcl.Controls.pas” + 91) + $6
[50336B3B]{vcl160.bpl } Vcl.Controls.TWinControl.IsControlMouseMsg (Line 9745, “Vcl.Controls.pas” + 1) + $9
[503372F3]{vcl160.bpl } Vcl.Controls.TWinControl.WndProc (Line 9976, “Vcl.Controls.pas” + 152) + $6
[5035705C]{vcl160.bpl } Vcl.StdCtrls.TButtonControl.WndProc (Line 5002, “Vcl.StdCtrls.pas” + 13) + $4
[50336948]{vcl160.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 9689, “Vcl.Controls.pas” + 3) + $6
[500B6890]{rtl160.bpl } System.Classes.StdWndProc (Line 13878, “System.Classes.pas” + 8) + $0
[50453213]{vcl160.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 10164, “Vcl.Forms.pas” + 23) + $1
[50453256]{vcl160.bpl } Vcl.Forms.TApplication.HandleMessage (Line 10194, “Vcl.Forms.pas” + 1) + $4
[5044EA75]{vcl160.bpl } Vcl.Forms.TCustomForm.ShowModal (Line 7035, “Vcl.Forms.pas” + 33) + $5
[0AEB39DB]{GExpertsRSXE2.dll} INITWIZARD0001 + $68D17
[0AE0CD64]{GExpertsRSXE2.dll} ShowCodeLib + $11ACC
[51D40374]{vcldesigner160.bpl} VCLSurface.TVclDesignSurface.SelectionVerb (Line 3814, “VCLSurface.pas” + 1) + $1E
[50438083]{vcl160.bpl } Vcl.Menus.TMenuItem.Click (Line 2522, “Vcl.Menus.pas” + 19) + $8
[50439687]{vcl160.bpl } Vcl.Menus.TMenu.DispatchCommand (Line 3435, “Vcl.Menus.pas” + 5) + $2
[5043A8F6]{vcl160.bpl } Vcl.Menus.TPopupList.WndProc (Line 4596, “Vcl.Menus.pas” + 4) + $E
[5003CF1C]{rtl160.bpl } System.TMonitor.CheckOwningThread (Line 14411, “System.pas” + 2) + $0
[5003D222]{rtl160.bpl } System.TMonitor.Exit (Line 14600, “System.pas” + 9) + $7
[5003D25B]{rtl160.bpl } System.TMonitor.Exit (Line 14614, “System.pas” + 2) + $7
[50313723]{vcl160.bpl } Vcl.Graphics.FreeMemoryContexts (Line 7043, “Vcl.Graphics.pas” + 12) + $8
[50336948]{vcl160.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 9689, “Vcl.Controls.pas” + 3) + $6
[5043A845]{vcl160.bpl } Vcl.Menus.TPopupList.MainWndProc (Line 4571, “Vcl.Menus.pas” + 2) + $5
[500B6890]{rtl160.bpl } System.Classes.StdWndProc (Line 13878, “System.Classes.pas” + 8) + $0
[50453213]{vcl160.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 10164, “Vcl.Forms.pas” + 23) + $1
[50453256]{vcl160.bpl } Vcl.Forms.TApplication.HandleMessage (Line 10194, “Vcl.Forms.pas” + 1) + $4
[50453595]{vcl160.bpl } Vcl.Forms.TApplication.Run (Line 10332, “Vcl.Forms.pas” + 26) + $3
================== end Details ====================
November 3, 2014 at 11:08 am #52695SupportKeymasterHello
GExperts thinks that types are not compatible, seems, but it's not True. I will install and try it soon.
Did you saw the AlphaConvert tool? Maybe AlphaConvert may do this work?
November 4, 2014 at 8:00 pm #52707JohnGParticipantQuote:Maybe AlphaConvert may do this work?
I'll take a look, thanks.
-
AuthorPosts
- You must be logged in to reply to this topic.