Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: Tokyo 10.2 Advantage 10.01 .bpl components can't be found


This question is not answered. Helpful answers available: 2. Correct answers available: 1.


Permlink Replies: 4 - Last Post: Jul 17, 2017 5:15 AM Last Post By: Frank Staal Threads: [ Previous | Next ]
charles leggette

Posts: 45
Registered: 7/17/00
Tokyo 10.2 Advantage 10.01 .bpl components can't be found  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 9, 2017 6:40 AM
I've just purchased Tokyo 10.2 and am migrating off C++ Bldr 2010. 2010 had a set of Advantage "Delphi Components" but I cannot find the components since SAP took over Advantage...Advantage DevZone is no longer working.

Anyone have any idea where I might find Tokyo 10.2 compatible and installable Advantage 10.10 Components.
Frank Staal

Posts: 115
Registered: 12/9/99
Re: Tokyo 10.2 Advantage 10.01 .bpl components can't be found  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 10, 2017 1:32 AM   in response to: charles leggette in response to: charles leggette
charles leggette wrote:
I've just purchased Tokyo 10.2 and am migrating off C++ Bldr 2010. 2010 had a set of Advantage "Delphi Components" but I cannot find the components since SAP took over Advantage...Advantage DevZone is no longer working.

Anyone have any idea where I might find Tokyo 10.2 compatible and installable Advantage 10.10 Components.

SAP doesn't care about us programmers, the last version available proudly proclaims it supports XE8! groan

I've taken the sources from the latest version and updated them to Tokyo.In other words my advise is to copy the original codes and build the packages (and obviously fix the errors, warnings and all that jazz).
Frank Staal

Posts: 115
Registered: 12/9/99
Re: Tokyo 10.2 Advantage 10.01 .bpl components can't be found  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 10, 2017 2:09 AM   in response to: charles leggette in response to: charles leggette
charles leggette wrote:
I've just purchased Tokyo 10.2 and am migrating off C++ Bldr 2010. 2010 had a set of Advantage "Delphi Components" but I cannot find the components since SAP took over Advantage...Advantage DevZone is no longer working.

Anyone have any idea where I might find Tokyo 10.2 compatible and installable Advantage 10.10 Components.

These are the changes I've made from Seattle to Tokyo accoridng to SVN...

Index: versions.inc
===================================================================
--- versions.inc (revision 5)
+ versions.inc (revision 6)
@@ -1,4 +1,3 @@
-// Notes : Ported to Delphi XE 7 by Frank Staal

{$IFDEF VER80}
{$DEFINE ADSDELPHI1}
@@ -62,6 +61,12 @@
{$IFDEF VER280}
{$DEFINE ADSDELPHIXE7}
{$ENDIF}
+{$IFDEF VER290}
+ {$DEFINE ADSDELPHIXE8}
+{$ENDIF}
+{$IFDEF VER300}
+ {$DEFINE ADSDELPHIXE8}
+{$ENDIF}
{$IFDEF VER93}
{$DEFINE ADSCBUILDER1}
{$ENDIF}
@@ -168,8 +173,12 @@
{$DEFINE ADSDELPHIXE7_OR_NEWER}
{$IFNDEF ADSDELPHIXE7}

- This version of Delphi/C++Builder is not yet supported!
-
+ {$DEFINE ADSDELPHIXE8_OR_NEWER}
+ {$IFNDEF ADSDELPHIXE8}
+
+ This version of Delphi/C++Builder is not yet supported!
+
+ {$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
Index: adsdata.pas
===================================================================
--- adsdata.pas (revision 5)
+ adsdata.pas (revision 6)
@@ -851,7 +851,7 @@
procedure SetScopeEnd( strValue : String );
procedure SetTableName( strValue: String );
procedure SetTableType( eValue: TAdsTableTypes ); virtual;
- function BuildFilterString( poFields : TList;
+ function BuildFilterString( poFields : TStringList;
bExactCompare : Boolean;
bCaseInsensitive : Boolean ) : string;
procedure SwitchToIndex;
@@ -10465,9 +10465,9 @@
* in poFields and the filter buffer.
* Note: Private
**********************************************************}
-function TAdsDataSet.BuildFilterString( poFields : TList;
- bExactCompare : Boolean;
- bCaseInsensitive : Boolean ) : string;
+function TAdsDataSet.BuildFilterString( poFields : TStringList;
+ bExactCompare : Boolean;
+ bCaseInsensitive : Boolean ) : string;
var
sFieldCount : SIGNED16;
usFieldType : UNSIGNED16;
@@ -10508,10 +10508,10 @@
for sFieldCount := 0 to poFields.Count - 1 do
begin
{ Get the field and the corrosponding data value }
- strFieldName := TField( poFields[sFieldCount] ).FieldName;
+ strFieldName := poFields[sFieldCount];

{ Need to get the field type to know if we need to put quotes around the value }
- usFieldType := FACEFieldDefs[ FACEFieldDefs.IndexOf( TField( poFields[sFieldCount] ).FieldName ) ].FieldType;
+ usFieldType := FACEFieldDefs[ FACEFieldDefs.IndexOf( strFieldName ) ].FieldType;

if ( FieldByName( strFieldName ).IsNULL ) then
begin
@@ -10999,6 +10999,11 @@
bFilterActive : Boolean;
usNumUnicodeFlds : UNSIGNED16;
usNumANSICharFlds : UNSIGNED16;
+ FieldNames: TStringList;
+ F: TField;
+{$IFNDEF ADSDELPHIXE3_OR_NEWER}
+ I: Integer;
+{$ENDIF}
begin
{$IFDEF CALLTRACE }
WriteCallTrace( 'TAdsDataSet.LocateRecord' );
@@ -11280,10 +11285,24 @@
bCaseInsensitive := false;

{ Always do non-exact compare }
- strFilter := BuildFilterString( TList( poFields ),
- False { Not exact compare },
- bCaseInsensitive );
-
+ FieldNames := TStringList.Create;
+ try
+{$IFDEF ADSDELPHIXE3_OR_NEWER}
+ for F in poFields do
+ FieldNames.Add(F.FieldName);
+{$ELSE}
+ for I := 0 to poFields.Count - 1 do
+ begin
+ F := TField(poFields[I]);
+ FieldNames.Add(F.FieldName);
+ end;
+{$ENDIF}
+ strFilter := BuildFilterString( FieldNames,
+ False { Not exact compare },
+ bCaseInsensitive );
+ finally
+ FieldNames.Free;
+ end;
{*
* If an aof is already active, set a standard filter on top of it. If we are just
* using regular filter, then we don't have to worry about it, because the AOF will
Index: infoexp.pas
===================================================================
--- infoexp.pas (revision 5)
+ infoexp.pas (revision 6)
@@ -109,6 +109,8 @@
{$R *.xfm}
{$ENDIF}

+uses
+ System.AnsiStrings;

procedure TExpressionForm.CloseBtnClick(Sender: TObject);
begin
@@ -175,8 +177,8 @@
@usExprLen );

{ Populate InfoStructForm grid. }
- Cells[ 0, usRowNum ] := string(StrPas( pucIndexName ));
- Cells[ 1, usRowNum ] := string(StrPas( aucIndexExpr ));
+ Cells[ 0, usRowNum ] := string(System.AnsiStrings.StrPas( pucIndexName ));
+ Cells[ 1, usRowNum ] := string(System.AnsiStrings.StrPas( aucIndexExpr ));

end;{ for usFieldNum }
end;{ with }
@@ -187,7 +189,7 @@
poDataStructList.Free;

if ( Assigned( pucIndexName ) ) then
- StrDispose( pucIndexName );
+ System.AnsiStrings.StrDispose( pucIndexName );

end;

Index: infostru.pas
===================================================================
--- infostru.pas (revision 5)
+ infostru.pas (revision 6)
@@ -104,6 +104,8 @@
{$R *.xfm}
{$ENDIF}

+uses
+ System.AnsiStrings;

procedure TInfoStructForm.CloseBtnClick( Sender: TObject );
begin
@@ -195,7 +197,7 @@
@ulFieldDecimals );

{ Populate InfoStructForm grid. }
- Cells[ 0, usRowNum ] := string(StrPas( pucFieldName ));
+ Cells[ 0, usRowNum ] := string(System.AnsiStrings.StrPas( pucFieldName ));
Cells[ 1, usRowNum ] := strFieldType;
Cells[ 2, usRowNum ] := IntToStr( ulFieldLength );
Cells[ 3, usRowNum ] := IntToStr( ulFieldDecimals );
@@ -204,7 +206,7 @@
end;{ with }

poDataStructList.free;
- StrDispose( pucFieldName );
+ System.AnsiStrings.StrDispose( pucFieldName );
bCanSelect := true;
poStructGridSelectCell( nil, 1, 1, bCanSelect );
end;
Index: infoexp.dfm
===================================================================
--- infoexp.dfm (revision 5)
+ infoexp.dfm (revision 6)
@@ -139,21 +139,6 @@
ScrollBars = ssVertical
TabOrder = 0
OnSelectCell = poStructGridSelectCell
- ColWidths = (
- 104
- 253)
- RowHeights = (
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24)
end
end
object Panel2: TPanel
Index: infostru.dfm
===================================================================
--- infostru.dfm (revision 5)
+ infostru.dfm (revision 6)
@@ -152,23 +152,6 @@
ScrollBars = ssVertical
TabOrder = 0
OnSelectCell = poStructGridSelectCell
- ColWidths = (
- 104
- 113
- 73
- 76)
- RowHeights = (
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24)
end
end
object Panel2: TPanel

---
after the previous changes you only need to add the various defines for the intermediate Delphi versions

{$IFDEF VER300}
{$DEFINE ADSDELPHIXE8}
{$ENDIF}
{$IFDEF VER310}
{$DEFINE ADSDELPHIXE8}
{$ENDIF}
{$IFDEF VER320}
{$DEFINE ADSDELPHIXE8}
{$ENDIF}

Hope this helps, and you have a download of sources in reach. Otherwise you'll have to wait until devzone does a phoenix and reappears.

Good luck.

P.S.: as they are freely downloadable I am not sure about proprietariness and the legality of simply posting a zip with working sources on our website, so I don't. Sorry...
charles leggette

Posts: 45
Registered: 7/17/00
Re: Tokyo 10.2 Advantage 10.01 .bpl components can't be found  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 16, 2017 4:08 PM   in response to: Frank Staal in response to: Frank Staal
Frank , unfortunately I don't own Delphi so I can't use these...can you send to charles dot leggette at dallasactuaries dot com the component package so I can install it. I hold you harmless for any issue arising from doing so.Also, if there is any charge, I will freely pay it...I am really stuck here.

Frank Staal wrote:
charles leggette wrote:
I've just purchased Tokyo 10.2 and am migrating off C++ Bldr 2010. 2010 had a set of Advantage "Delphi Components" but I cannot find the components since SAP took over Advantage...Advantage DevZone is no longer working.

Anyone have any idea where I might find Tokyo 10.2 compatible and installable Advantage 10.10 Components.

These are the changes I've made from Seattle to Tokyo accoridng to SVN...

Index: versions.inc
===================================================================
--- versions.inc (revision 5)
+ versions.inc (revision 6)
@@ -1,4 +1,3 @@
-// Notes : Ported to Delphi XE 7 by Frank Staal

{$IFDEF VER80}
{$DEFINE ADSDELPHI1}
@@ -62,6 +61,12 @@
{$IFDEF VER280}
{$DEFINE ADSDELPHIXE7}
{$ENDIF}
+{$IFDEF VER290}
+ {$DEFINE ADSDELPHIXE8}
+{$ENDIF}
+{$IFDEF VER300}
+ {$DEFINE ADSDELPHIXE8}
+{$ENDIF}
{$IFDEF VER93}
{$DEFINE ADSCBUILDER1}
{$ENDIF}
@@ -168,8 +173,12 @@
{$DEFINE ADSDELPHIXE7_OR_NEWER}
{$IFNDEF ADSDELPHIXE7}

- This version of Delphi/C++Builder is not yet supported!
-
+ {$DEFINE ADSDELPHIXE8_OR_NEWER}
+ {$IFNDEF ADSDELPHIXE8}
+
+ This version of Delphi/C++Builder is not yet supported!
+
+ {$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
Index: adsdata.pas
===================================================================
--- adsdata.pas (revision 5)
+ adsdata.pas (revision 6)
@@ -851,7 +851,7 @@
procedure SetScopeEnd( strValue : String );
procedure SetTableName( strValue: String );
procedure SetTableType( eValue: TAdsTableTypes ); virtual;
- function BuildFilterString( poFields : TList;
+ function BuildFilterString( poFields : TStringList;
bExactCompare : Boolean;
bCaseInsensitive : Boolean ) : string;
procedure SwitchToIndex;
@@ -10465,9 +10465,9 @@
* in poFields and the filter buffer.
* Note: Private
**********************************************************}
-function TAdsDataSet.BuildFilterString( poFields : TList;
- bExactCompare : Boolean;
- bCaseInsensitive : Boolean ) : string;
+function TAdsDataSet.BuildFilterString( poFields : TStringList;
+ bExactCompare : Boolean;
+ bCaseInsensitive : Boolean ) : string;
var
sFieldCount : SIGNED16;
usFieldType : UNSIGNED16;
@@ -10508,10 +10508,10 @@
for sFieldCount := 0 to poFields.Count - 1 do
begin
{ Get the field and the corrosponding data value }
- strFieldName := TField( poFields[sFieldCount] ).FieldName;
+ strFieldName := poFields[sFieldCount];

{ Need to get the field type to know if we need to put quotes around the value }
- usFieldType := FACEFieldDefs[ FACEFieldDefs.IndexOf( TField( poFields[sFieldCount] ).FieldName ) ].FieldType;
+ usFieldType := FACEFieldDefs[ FACEFieldDefs.IndexOf( strFieldName ) ].FieldType;

if ( FieldByName( strFieldName ).IsNULL ) then
begin
@@ -10999,6 +10999,11 @@
bFilterActive : Boolean;
usNumUnicodeFlds : UNSIGNED16;
usNumANSICharFlds : UNSIGNED16;
+ FieldNames: TStringList;
+ F: TField;
+{$IFNDEF ADSDELPHIXE3_OR_NEWER}
+ I: Integer;
+{$ENDIF}
begin
{$IFDEF CALLTRACE }
WriteCallTrace( 'TAdsDataSet.LocateRecord' );
@@ -11280,10 +11285,24 @@
bCaseInsensitive := false;

{ Always do non-exact compare }
- strFilter := BuildFilterString( TList( poFields ),
- False { Not exact compare },
- bCaseInsensitive );
-
+ FieldNames := TStringList.Create;
+ try
+{$IFDEF ADSDELPHIXE3_OR_NEWER}
+ for F in poFields do
+ FieldNames.Add(F.FieldName);
+{$ELSE}
+ for I := 0 to poFields.Count - 1 do
+ begin
+ F := TField(poFields[I]);
+ FieldNames.Add(F.FieldName);
+ end;
+{$ENDIF}
+ strFilter := BuildFilterString( FieldNames,
+ False { Not exact compare },
+ bCaseInsensitive );
+ finally
+ FieldNames.Free;
+ end;
{*
* If an aof is already active, set a standard filter on top of it. If we are just
* using regular filter, then we don't have to worry about it, because the AOF will
Index: infoexp.pas
===================================================================
--- infoexp.pas (revision 5)
+ infoexp.pas (revision 6)
@@ -109,6 +109,8 @@
{$R *.xfm}
{$ENDIF}

+uses
+ System.AnsiStrings;

procedure TExpressionForm.CloseBtnClick(Sender: TObject);
begin
@@ -175,8 +177,8 @@
@usExprLen );

{ Populate InfoStructForm grid. }
- Cells[ 0, usRowNum ] := string(StrPas( pucIndexName ));
- Cells[ 1, usRowNum ] := string(StrPas( aucIndexExpr ));
+ Cells[ 0, usRowNum ] := string(System.AnsiStrings.StrPas( pucIndexName ));
+ Cells[ 1, usRowNum ] := string(System.AnsiStrings.StrPas( aucIndexExpr ));

end;{ for usFieldNum }
end;{ with }
@@ -187,7 +189,7 @@
poDataStructList.Free;

if ( Assigned( pucIndexName ) ) then
- StrDispose( pucIndexName );
+ System.AnsiStrings.StrDispose( pucIndexName );

end;

Index: infostru.pas
===================================================================
--- infostru.pas (revision 5)
+ infostru.pas (revision 6)
@@ -104,6 +104,8 @@
{$R *.xfm}
{$ENDIF}

+uses
+ System.AnsiStrings;

procedure TInfoStructForm.CloseBtnClick( Sender: TObject );
begin
@@ -195,7 +197,7 @@
@ulFieldDecimals );

{ Populate InfoStructForm grid. }
- Cells[ 0, usRowNum ] := string(StrPas( pucFieldName ));
+ Cells[ 0, usRowNum ] := string(System.AnsiStrings.StrPas( pucFieldName ));
Cells[ 1, usRowNum ] := strFieldType;
Cells[ 2, usRowNum ] := IntToStr( ulFieldLength );
Cells[ 3, usRowNum ] := IntToStr( ulFieldDecimals );
@@ -204,7 +206,7 @@
end;{ with }

poDataStructList.free;
- StrDispose( pucFieldName );
+ System.AnsiStrings.StrDispose( pucFieldName );
bCanSelect := true;
poStructGridSelectCell( nil, 1, 1, bCanSelect );
end;
Index: infoexp.dfm
===================================================================
--- infoexp.dfm (revision 5)
+ infoexp.dfm (revision 6)
@@ -139,21 +139,6 @@
ScrollBars = ssVertical
TabOrder = 0
OnSelectCell = poStructGridSelectCell
- ColWidths = (
- 104
- 253)
- RowHeights = (
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24)
end
end
object Panel2: TPanel
Index: infostru.dfm
===================================================================
--- infostru.dfm (revision 5)
+ infostru.dfm (revision 6)
@@ -152,23 +152,6 @@
ScrollBars = ssVertical
TabOrder = 0
OnSelectCell = poStructGridSelectCell
- ColWidths = (
- 104
- 113
- 73
- 76)
- RowHeights = (
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24
- 24)
end
end
object Panel2: TPanel

---
after the previous changes you only need to add the various defines for the intermediate Delphi versions

{$IFDEF VER300}
{$DEFINE ADSDELPHIXE8}
{$ENDIF}
{$IFDEF VER310}
{$DEFINE ADSDELPHIXE8}
{$ENDIF}
{$IFDEF VER320}
{$DEFINE ADSDELPHIXE8}
{$ENDIF}

Hope this helps, and you have a download of sources in reach. Otherwise you'll have to wait until devzone does a phoenix and reappears.

Good luck.

P.S.: as they are freely downloadable I am not sure about proprietariness and the legality of simply posting a zip with working sources on our website, so I don't. Sorry...
Frank Staal

Posts: 115
Registered: 12/9/99
Re: Tokyo 10.2 Advantage 10.01 .bpl components can't be found  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jul 17, 2017 5:15 AM   in response to: charles leggette in response to: charles leggette
charles leggette wrote:
Frank , unfortunately I don't own Delphi so I can't use these...can you send to charles dot leggette at dallasactuaries dot com the component package so I can install it. I hold you harmless for any issue arising from doing so.Also, if there is any charge, I will freely pay it...I am really stuck here.

I'm sorry but I am transferring to a different employer and I don't have access anymore to these sources (or bpls). Up until last thursday you could have gotten them, as that was my last day in the office.
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02