Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#37 Incorrect output when you declare one record within another

open
nobody
None
5
2012-11-05
2005-05-10
portail
No

When you have a record like:

type
{ This is a record. }
TARecord = record
{
This is Field1. }
Field1:integer;
{** This is Field1. }
Field2:string
end;

In doc, the type of fields are not write !! it's
important to know the type of Field/property to use it.

Discussion

  • Logged In: YES
    user_id=987895

    I certainly agree with this, and I agree with high priority
    of this. I'm moving this to bugs sections.

    Some test unit for this is already prepared in pasdoc
    sources in tests/todo/ok_record_descr.pas

     
  • Logged In: YES
    user_id=987895

    Finally, this bug is mostly fixed.

    Some issues remain (when record is declared within another
    record, and when using "case" clauses in records) so this
    bug is not yet closed.

    But in most usual cases of declaring records, this is now
    fixed. I'm changing priority to 6. When using "case" clauses
    in records will be also fixed, I'll change priority to 5.

    See my mail "Record fields types are displayed" today on
    pasdoc-main mailing list to get more details about this.

     
  • Logged In: YES
    user_id=987895

    After some struggle with TParser.ParseRecordCase
    implementation, this bug is also fixed now for the fields
    inside the "case" clause of a record. I.e. fields inside
    "case" record clause are correctly shown in the
    documentation, with type declaration and all.

    Testcases are inside tests/ok_record_with_case.pas and
    tests/ok_record_case_parsing.pas

    The only cases that remain to be fixed are when you declare
    one record within another, e.g. see
    tests/todo/ok_record_descr.pas and
    tests/todo/ok_record_in_record.pas.

    I'm changing priority to 5, and I'm changing bug title to
    reflect that this issue is much less harmful now.