Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/IDE/Translation Tools/Translation Manager    [ Add a report in this area ]  
Report #:  7719   Status: Closed
ITE cannot handle specific situation
Project:  Delphi Build #:  4.453
Version:    7.0 Submitted By:   Bert Binnenmarsch
Report Type:  Basic functionality failure Date Reported:  3/25/2004 5:48:41 AM
Severity:    Critical / Show Stopper Last Updated: 1/12/2007 6:32:09 AM
Platform:    All versions Internal Tracking #:  
Resolution: Fixed (Resolution Comments) Resolved in Build: : 10.0.2288.42451
Duplicate of:  None
Voting and Rating
Overall Rating: (1 Total Rating)
4.00 out of 5
Total Votes: 12
Description
Delphi 6 and 7 have the same problem.

The Translation Tool cannot handle:

          Properties.ListColumns = <
            item
              FieldName = 'ARTIST'
            end>

or

          Properties.ListColumns = <>

Error message:

ObjectTextToResource failed: "=" expected on line ...
Steps to Reproduce:
The following is a Developer Express component that cannot be handled by the Translation Tool of Borland.
The problem is with ListColumns where the Translation Tool starts to complain.

        object AArtist: TcxLookupComboBox
          Properties.DropDownAutoSize = True
          Properties.DropDownListStyle = lsEditList
          Properties.DropDownRows = 12
          Properties.DropDownSizeable = True
          Properties.KeyFieldNames = 'ARTIST'
          Properties.ListColumns = <
            item
              FieldName = 'ARTIST'
            end>
          Properties.ListOptions.GridLines = glNone
          Properties.ListOptions.ShowHeader = False
        end

The translation tool creates a file with the extension .err_dfm, and the component is translated as follows:

object AArtist: TcxLookupComboBox
Properties.DropDownAutoSize =  True
Properties.DropDownListStyle =  lsEditList
Properties.DropDownRows =  12
Properties.DropDownSizeable =  True
Properties.KeyFieldNames =  'ARTIST'
Properties ListColumns= <item FieldName = 'ARTIST' end>
Properties.ListOptions.GridLines =  glNone
Properties.ListOptions.ShowHeader =  False
end

Note that there is a dot missing between the words Properties and ListColumns.

I could do some stuff at run-time instead of design-time by removing: FieldName = 'ARTIST'
The component becomes:

        object AArtist: TcxLookupComboBox
          Properties.DropDownAutoSize = True
          Properties.DropDownListStyle = lsEditList
          Properties.DropDownRows = 12
          Properties.DropDownSizeable = True
          Properties.KeyFieldNames = 'ARTIST'
          Properties.ListColumns = <>
          Properties.ListOptions.GridLines = glNone
          Properties.ListOptions.ShowHeader = False
        end

The Translation Tool still has problems with the line: Properties.ListColumns = <>

ObjectTextToResource failed: "=" expected on line ...
Workarounds
None
Attachment
7719.zip
Comments

Robert Love at 4/15/2004 9:03:55 AM -
I don't have any of the DevExpress components to try to duplicate this so it can be Opened.  Is this recreatable with any of the standard VCL components, or something that is freely available?

Bert Binnenmarsch at 4/16/2004 12:30:23 AM -
I haven't seen this problem with VCL or other components. My application has 60 forms and the problem just started when I added the TcxLookupComboBox component. It is most likely that it has to do with the way the latest DevExpress components are built. It's something like components in components (don't know how to describe it better).

Why do I think it is related to the structure of the DevExpress components? I have seen before with the TcxComboBox that the strings in TcxComboBox.Properties.Items.Strings set at design-time are not recognised by the translation tool so I have to set the right values during run-time. (This is also a bug but I have a workaround).

My suggestion is that Borland gets the relevent components from Developer Express.
For me it is useles to complain about the Delphi translation tools in de DevExpress newsgroups, because they will direct me to Borland.

Craig Farrell at 4/15/2004 11:46:51 AM -
I tried a ListView and defined some columns so I could set up some syntax for the form that used = <>
and it did not result in the error from ITE. Could this be related to regional settings?

Sebastian Modersohn at 9/16/2006 5:23:40 AM -
>I tried a ListView and defined some columns so I could set up some syntax for the form that used = <>
and it did not result in the error from ITE.

Unfortunately that's not the same. The Columns Collection property is a property of a TWinControl whereas the example cites a Collection property belonging to a TPersistent subproperty.

I've created a complete test-case and it seems this has been fixed in BDS 2006. I'll try to attach the test-case without replacing the existing files (unit3.*)

Bert Binnenmarsch at 4/16/2004 12:32:38 AM -
I don't believe it has anything to do with regional settings. My application has 60 forms and before adding the TcxLookupComboBox component I did not have this problem.

Martin Glass at 9/28/2004 12:53:30 PM -
I encountered a similar problem when working with the freely available Orpheus (http://sourceforge.net/projects/tporpheus/), with the TOvcController component.

I wrote up the bug here:
http://sourceforge.net/tracker/index.php?func=detail&aid=948077&group_id=71004&atid=529790

Joeri Sebrechts at 2/28/2005 8:13:04 AM -
Confirming that this occurs in Delphi 5 as well.

Sebastian Modersohn at 11/2/2006 12:39:28 PM -
Cannot reproduce with BDS 2006. ITE does not have a problem with the component from the attached test-case.

Server Response from: ETNACODE01