Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Updating Delphi7 Components

98 views
Skip to first unread message

Connie McBride

unread,
Apr 18, 2007, 7:27:16 PM4/18/07
to
Using demo version of BDS2006, VCL side of things.

I am using some of obsof ABC components, from 'back in the day'. I have the
source code, and am trying to get them to install in BDS 2006.
I have replaced the
$IFDEF DELPHI6} DesignIntf {$ELSE}
with :
{$IFDEF DELPHI6}DesignEditors, DesignIntf, VCLEditors {$ELSE}

I have added designide.dcp to the packages.
The packages compile.
However, I am getting an access violation when attempting to install the
component:
Any idea what I'm doing wrong?
+ $0[51F315AE]{rtl100.bpl } Classes.Classes.TList.IndexOf (Line 3018,
"classes.pas" + 2) + $0
+ $0[51F06B47]{rtl100.bpl } System.System.@HandleAnyException (Line 9980,
"system.pas" + 13) + $0
+ $41[7C903786]{ntdll.dll } RtlConvertUlongToLargeInteger + $41
+ $9[7C90EAF5]{ntdll.dll } KiUserExceptionDispatcher + $9
+ $0[51F06996]{rtl100.bpl } System.System.@ClassCreate (Line 9519,
"system.pas" + 35) + $0
+ $10[21B9A701]{delphicoreide100.bpl}
PasCppPakMgr.PasCppPakMgr.RegisterComponents (Line 274, "PasCppPakMgr.pas" +
6) + $10
+ $0[51F305DD]{rtl100.bpl } Classes.Classes.RegisterComponents (Line 2468,
"classes.pas" + 2) + $0
+ $0[51F07259]{rtl100.bpl } System.System.InitUnits (Line 11414,
"system.pas" + 21) + $0
+ $0[51F072CA]{rtl100.bpl } System.System.@PackageLoad (Line 11435,
"system.pas" + 8) + $0
+ $5[51F1A0F7]{rtl100.bpl } SysUtils.SysUtils.LoadPackage (Line 16134,
"sysutils.pas" + 18) + $5
+ $8[20C3BA68]{coreide100.bpl} PakLoad.PakLoad.TPackage.DoLoadPackage (Line
150, "PakLoad.pas" + 0) + $8
+ $2[20C0A325]{coreide100.bpl} PakMgr.PakMgr.TDesignPackage.Load (Line 583,
"PakMgr.pas" + 2) + $2
+ $3[21B9BA30]{delphicoreide100.bpl}
PasCppPakMgr.PasCppPakMgr.TIDEDesignPackage.Load (Line 821,
"PasCppPakMgr.pas" + 4) + $3
+ $4[21B9B815]{delphicoreide100.bpl}
PasCppPakMgr.PasCppPakMgr.TIDEDesignPackage.DelayLoad (Line 741,
"PasCppPakMgr.pas" + 11) + $4
+ $5[21BADAD4]{delphicoreide100.bpl}
PakList.PakList.TPackageListItem.LoadDesignPackage (Line 767, "PakList.pas"
+ 15) + $5
+ $3[21BAD0DF]{delphicoreide100.bpl}
PakList.PakList.TPackageListItem.SetIsInstalled (Line 533, "PakList.pas" +
7) + $3
+ $5[21BACEB3]{delphicoreide100.bpl}
PakList.PakList.TPackageList.AddPackage (Line 447, "PakList.pas" + 13) + $5
+ $5[21BB5C7A]{delphicoreide100.bpl}
BasePasProjOpts.BasePasProjOpts.TProjOptsManager.InstallPackage (Line 1846,
"BasePasProjOpts.pas" + 8) + $5
+ $3[21BB671B]{delphicoreide100.bpl}
BasePasProjOpts.BasePasProjOpts.TProjectOptions.InstallPackage (Line 2240,
"BasePasProjOpts.pas" + 0) + $3
+ $5[21BA7F30]{delphicoreide100.bpl}
PkgContainers.PkgContainers.TStdPackageProjectContainer.CommandHandler (Line
141, "PkgContainers.pas" + 4) + $5
+ $6[20BD4A0A]{coreide100.bpl}
Containers.Containers.TStdProjectContainer.CommandHandler (Line 1783,
"Containers.pas" + 0) + $6
+ $5[5202F0AD]{vcl100.bpl } Menus.Menus.TPopupList.MainWndProc (Line 3374,
"Menus.pas" + 2) + $5
+ $0[51F40BB0]{rtl100.bpl } Classes.Classes.StdWndProc (Line 11572,
"classes.pas" + 8) + $0
+ $6A[7E418731]{USER32.dll } GetDC + $6A
+ $14A[7E418811]{USER32.dll } GetDC + $14A
+ $122[7E4189C8]{USER32.dll } GetWindowLongW + $122
+ $A[7E4196C2]{USER32.dll } DispatchMessageA + $A

Jeff Overcash (TeamB)

unread,
Apr 19, 2007, 12:06:29 AM4/19/07
to
Connie McBride wrote:
> Using demo version of BDS2006, VCL side of things.
>
> I am using some of obsof ABC components, from 'back in the day'. I have the
> source code, and am trying to get them to install in BDS 2006.
> I have replaced the
> $IFDEF DELPHI6} DesignIntf {$ELSE}
> with :
> {$IFDEF DELPHI6}DesignEditors, DesignIntf, VCLEditors {$ELSE}
>

Search the source for where DELPHI6 is defined. In it you will add something
the looks very similar but you will want to do it for VER180.

--
Jeff Overcash (TeamB)
(Please do not email me directly unless asked. Thank You)
A human being should be able to change a diaper, plan an invasion, butcher
a hog, conn a ship, design a building, write a sonnet, balance accounts, build
a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act
alone, solve equations, analyze a new problem, pitch manure, program a computer,
cook a tasty meal, fight efficiently, die gallantly. Specialization is for
insects. (RAH)

Connie McBride

unread,
Apr 19, 2007, 3:29:56 PM4/19/07
to
There is an abcdefs.inc file, and I have added this section: ('cloned' from
the 'IfDef ver150' section)

{$IFDEF VER180} { Delphi 9 and C++ Builder 9 ? }
{$IFDEF BCBNOTDELPHI}
{$ObjExportAll On}
{$ENDIF}
{$DEFINE DELPHI45}
{$DEFINE DELPHI5}
{$DEFINE DELPHI6}
{$DEFINE DELPHI7}
{$WARN SYMBOL_PLATFORM OFF} { Currently only supports Windows }
{$WARN UNIT_PLATFORM OFF} { Currently only supports Windows }
{$ENDIF}

I have gone through the code files and fixed the Delphi6 'uses' clauses. (I
had missed some)

Still no joy.
Any other idea where to look?

Other things surrounded by the '{$IFDEF Delphi6}' conditionals (not sure how
relevant they are):
Use Variants
Use VDBConsts
Use RTLConsts

procedure SetParent(AParent: TWinControl); override;
procedure CreateParams(var Params: TCreateParams); override;


ActivateClassGroup(TControl); (in initialization sections)

Andrew

unread,
Apr 20, 2007, 4:02:50 AM4/20/07
to
"Connie McBride" <con...@high5software.com> wrote in message news:4627c358$1...@newsgroups.borland.com...

> There is an abcdefs.inc file, and I have added this section: ('cloned' from
> the 'IfDef ver150' section)
>
> {$IFDEF VER180} { Delphi 9 and C++ Builder 9 ? }
> {$IFDEF BCBNOTDELPHI}
> {$ObjExportAll On}
> {$ENDIF}
> {$DEFINE DELPHI45}
> {$DEFINE DELPHI5}
> {$DEFINE DELPHI6}
> {$DEFINE DELPHI7}
> {$WARN SYMBOL_PLATFORM OFF} { Currently only supports Windows }
> {$WARN UNIT_PLATFORM OFF} { Currently only supports Windows }
> {$ENDIF}
>
> I have gone through the code files and fixed the Delphi6 'uses' clauses. (I
> had missed some)
>
> Still no joy.
> Any other idea where to look?
>
It could be related to the Implicit / Explicit package compile bug - try setting this package and all the ones it depends upon to Explicit Compile (not Compile when Required). I had some similar errors in D2007 which all went away when I converted all my packages to that setting.

Andrew

Helge Lange

unread,
Apr 20, 2007, 7:37:52 AM4/20/07
to
When I was migrating my components from Delphi 7 to BDS2006, I had similar
problems. The compiler build the package, but I couldn't load it at all,
access violation. After some hours testing around, my solution was simple,
but works. Building a new package from scratch. Means, create a new package,
add all files from the old package, then compile and install. Dunno, if that
helps you, but that's what I had and the solution worked for me :)

--
Helge Lange (Helge...@gmail.com)
ERP Framework Components @ http://www.erp-components.com

Writing ERP - applications can be easier than "Hello-World"


Connie McBride

unread,
Apr 20, 2007, 4:39:46 PM4/20/07
to
I started doing this -
create a package.
setup the options.
add the items one by one from the old package to the new package.
When I did that, I found that when I open the form for some of these
components, I get 'class not found' message, tell it to ignore, then I get
an access violation (see below). I click okay, the pas file opens, then
when I close it, I get form -> component not found (interesting, because
this is Delphi code).

Wondering if this is what is preventing the components getting installed.
I have gotten all my other component libraries to install, it's just THIS
set that I've been working on all week.

"Helge Lange" <Helge...@erp-components.com> wrote in message
news:4628...@newsgroups.borland.com...

Connie McBride

unread,
Apr 20, 2007, 4:40:04 PM4/20/07
to
Access violation :
+ $0[51F2A71A]{rtl100.bpl } TypInfo.TypInfo.GetTypeData (Line 764,
"TypInfo.pas" + 1) + $0

+ $0[51F06B47]{rtl100.bpl } System.System.@HandleAnyException (Line 9980,
"system.pas" + 13) + $0
+ $41[7C903786]{ntdll.dll } RtlConvertUlongToLargeInteger + $41
+ $9[7C90EAF5]{ntdll.dll } KiUserExceptionDispatcher + $9
+ $3[00341050]{designide100.bpl}
DesignEditors.DesignEditors.TCustomModule.ValidateComponentClass (Line 3074,
"DesignEditors.pas" + 11) + $3
+ $8[21B983AE]{delphicoreide100.bpl}
CompPalMgr.CompPalMgr.TComponentPalettePageItemDelegate.CheckValid (Line
2437, "CompPalMgr.pas" + 17) + $8
+ $B[21B968C7]{delphicoreide100.bpl} CompPalMgr.CompPalMgr.ProcessGroup
(Line 1796, "CompPalMgr.pas" + 5) + $B
+ $4[21B969A0]{delphicoreide100.bpl}
CompPalMgr.CompPalMgr.TComponentPaletteManager.RootActivatedEvent (Line
1808, "CompPalMgr.pas" + 6) + $4
+ $15[00366247]{designide100.bpl}
ComponentDesigner.ComponentDesigner.TEvRootActivatedEvent.Send (Line 7827,
"ComponentDesigner.pas" + 11) + $15
+ $18[00363CEE]{designide100.bpl}
ComponentDesigner.ComponentDesigner.TDesigners.ActivateDesigner (Line 6569,
"ComponentDesigner.pas" + 9) + $18
+ $20[00362900]{designide100.bpl}
ComponentDesigner.ComponentDesigner.TComponentDesigner.RootActivated (Line
6047, "ComponentDesigner.pas" + 9) + $20
+ $1E[221993F6]{delphivclide100.bpl}
VCLFormDesigner.VCLFormDesigner.TVCLRootDesigner.Activate (Line 321,
"VCLFormDesigner.pas" + 4) + $1E
+ $A[0A5AAA35]{vcldesigner100.bpl}
VCLSurface.VCLSurface.TVclDesignSurface.IsDesignMsg (Line 3111,
"vclsurface.pas" + 95) + $A
+ $21[5203876F]{vcl100.bpl } Controls.Controls.TControl.WndProc (Line
5064, "Controls.pas" + 4) + $21
+ $6[5203C998]{vcl100.bpl } Controls.Controls.TWinControl.WndProc (Line
7242, "Controls.pas" + 101) + $6
+ $5[520511CD]{vcl100.bpl } Forms.Forms.TCustomForm.WndProc (Line 3284,
"Forms.pas" + 125) + $5
+ $C[22193DF7]{delphivclide100.bpl}
VCLFormContainer.VCLFormContainer.TControlSizer.ControlWndProc (Line 305,
"VCLFormContainer.pas" + 33) + $C
+ $6[5203C150]{vcl100.bpl } Controls.Controls.TWinControl.MainWndProc
(Line 7021, "Controls.pas" + 3) + $6

+ $0[51F40BB0]{rtl100.bpl } Classes.Classes.StdWndProc (Line 11572,
"classes.pas" + 8) + $0
+ $6A[7E418731]{USER32.dll } GetDC + $6A
+ $14A[7E418811]{USER32.dll } GetDC + $14A
+ $17F[7E41B4BB]{USER32.dll } DefWindowProcW + $17F
+ $1CD[7E41B509]{USER32.dll } DefWindowProcW + $1CD
+ $10[7C90EAE0]{ntdll.dll } KiUserCallbackDispatcher + $10
+ $A[20BF367C]{coreide100.bpl} EditorForm.EditorForm.TEditWindow.ShowView
(Line 3283, "EditorForm.pas" + 47) + $A
+ $5[20BEF516]{coreide100.bpl}
EditorForm.EditorForm.TEditWindow.SwitchViews (Line 1543, "EditorForm.pas" +
6) + $5
+ $C[20BEF086]{coreide100.bpl}
EditorForm.EditorForm.TEditWindow.ViewBarChange (Line 1393, "EditorForm.pas"
+ 3) + $C
+ $D[520D9A39]{vcl100.bpl } Tabs.Tabs.TTabSet.CanChange (Line 1634,
"Tabs.pas" + 3) + $D
+ $2[20BB0501]{coreide100.bpl} SourceModule.SourceModule.TSourceModule.Show
(Line 872, "SourceModule.pas" + 1) + $2
+ $14[20C34D6C]{coreide100.bpl} DocModul.DocModul.TFilterList.OpenFile
(Line 777, "DocModul.pas" + 35) + $14
+ $15[20C388E3]{coreide100.bpl} DocModul.DocModul.CallDefaultOpenProc (Line
2488, "DocModul.pas" + 3) + $15
+ $9[20BC3EFA]{coreide100.bpl} ProjectModule.ProjectModule.OpenFile (Line
2269, "ProjectModule.pas" + 20) + $9
+ $D[21BBCEBD]{delphicoreide100.bpl}
BaseDelphiProject.BaseDelphiProject.TDelphiProjectModuleHandler.OpenModule
(Line 1722, "BaseDelphiProject.pas" + 31) + $D
+ $10[21BBA8F6]{delphicoreide100.bpl}
BaseDelphiProject.BaseDelphiProject.TBaseDelphiProject.OpenModule (Line 807,
"BaseDelphiProject.pas" + 3) + $10
+ $F[20BC39D4]{coreide100.bpl}
ProjectModule.ProjectModule.TCustomCodeIProject.OpenModule (Line 2114,
"ProjectModule.pas" + 1) + $F
+ $18[20BD73DA]{coreide100.bpl}
Containers.Containers.TStdFileContainer.OpenItem (Line 2760,
"Containers.pas" + 14) + $18
+ $5[20C04C1A]{coreide100.bpl}
ProjectMgr.ProjectMgr.TProjectManager.HandleDblClick (Line 723,
"ProjectMgr.pas" + 3) + $5
+ $12[20BB774F]{coreide100.bpl}
ProjectFrm.ProjectFrm.TProjectManagerForm.ProjectTree2DblClick (Line 1734,
"ProjectFrm.pas" + 10) + $12
+ $14[52038F09]{vcl100.bpl } Controls.Controls.TControl.DblClick (Line
5231, "Controls.pas" + 1) + $14

"Helge Lange" <Helge...@erp-components.com> wrote in message
news:4628...@newsgroups.borland.com...

Connie McBride

unread,
Apr 20, 2007, 4:49:35 PM4/20/07
to
I have now done that, still no joy.

"Andrew" <abayl...@spamcop.net> wrote in message
news:462873b8$1...@newsgroups.borland.com...

Helge Lange

unread,
Apr 20, 2007, 6:38:20 PM4/20/07
to
So you also installed the components and they are visible in the component
palette? But if you try to open a form, wich actually uses these components,
you get the error, right?

--
Helge Lange (Helge...@gmail.com)
ERP Framework Components @ http://www.erp-components.com

Writing ERP - applications can be easier than "Hello-World"

"Connie McBride" <con...@high5software.com> wrote in message

news:46292532$1...@newsgroups.borland.com...

Connie McBride

unread,
Apr 20, 2007, 8:09:41 PM4/20/07
to

"Helge Lange" <Helge...@erp-components.com> wrote in message
news:4629406f$1...@newsgroups.borland.com...

> So you also installed the components and they are visible in the component
> palette? But if you try to open a form, wich actually uses these
> components, you get the error, right?


No - this happened while I was adding to the package.
Had old package open.
Created new package.
Dragged and dropped from old package to new package (opens the code)
Then I would get the errors.


Helge Lange

unread,
Apr 20, 2007, 10:40:43 PM4/20/07
to
so can it be, that (since code in this case is only be executed, when a form
or datamodule is added), that you first have to install the components
included in this form before adding the form to the package... maybe first
you create an empty package, then you add all components without forms etc,
compile and install, afterwards you might add the forms

--
Helge Lange (Helge...@gmail.com)
ERP Framework Components @ http://www.erp-components.com

Writing ERP - applications can be easier than "Hello-World"
"Connie McBride" <con...@high5software.com> wrote in message

news:4629...@newsgroups.borland.com...

Connie McBride

unread,
Apr 23, 2007, 4:42:37 PM4/23/07
to
When I did the drag and drop, it only added the .pas files.
When I tried adding the .pas file manually, it added the forms as well.


"Helge Lange" <Helge...@erp-components.com> wrote in message

news:4629...@newsgroups.borland.com...

0 new messages