Home DADE

TdaDataViewToolWin.GetItemForFieldName

edited November 2005 in DADE
Hi,

I'm using DADE to create some custom reports.
Sometimes after I've print previewd a report and then bring up the report
designer for another report and select the Data-tab,
I get this error message:

"TdaDataViewToolWin.GetItemForFieldName: Attempt to retrieve TListItem for
the OrderScaleID field, but no item was found."

The fieldname can differ.
Any ideas what can cause this error?

Thanks,
Johan

:7c81eb33 kernel32.RaiseException + 0x52
:00bdd006 TdaDataViewToolWin.GetItemForFieldName + $82
:00bdcede TdaDataViewToolWin.GetFieldPosition + $2E
:00bdf42b TdaVisualLink.CalcPosition + $1B
:00536627 TControl.WndProc + $18F
:005363ef TControl.Perform + $27
:00539ebf TWinControl.PaintControls + $173
:00539cec TWinControl.PaintHandler + $124
:0053a1d0 TWinControl.WMPaint + $44
:00536627 TControl.WndProc + $18F
:00539a83 TWinControl.WndProc + $20B
:00438c02 StdWndProc + $16
:77d48734 user32.GetDC + 0x6d
:77d48816 ; C:\WINDOWS\system32\user32.dll
:77d4b4c0 ; C:\WINDOWS\system32\user32.dll
:77d4b50c ; C:\WINDOWS\system32\user32.dll
:7c90eae3 ntdll.KiUserCallbackDispatcher + 0x13
:77d48a10 user32.DispatchMessageW + 0xf
:77d5e2b9 ; C:\WINDOWS\system32\user32.dll
:77d561c6 ; C:\WINDOWS\system32\user32.dll
:77d6a92e ; C:\WINDOWS\system32\user32.dll
:77d6a294 ; C:\WINDOWS\system32\user32.dll
:77d95fbb user32.MessageBoxTimeoutW + 0x7a
:77d96060 user32.MessageBoxTimeoutA + 0x9c
:77d80577 user32.MessageBoxExA + 0x1b
:77d8052f user32.MessageBoxA + 0x45
:00559c46 TApplication.MessageBox + $FE
:00559d5e TApplication.ShowException + $9A
:00559b2f TApplication.HandleException + $77
:00438c02 StdWndProc + $16
:77d48734 user32.GetDC + 0x6d
:77d48816 ; C:\WINDOWS\system32\user32.dll
:77d4b4c0 ; C:\WINDOWS\system32\user32.dll
:77d4b50c ; C:\WINDOWS\system32\user32.dll
:7c90eae3 ntdll.KiUserCallbackDispatcher + 0x13
:77d496c7 user32.DispatchMessageA + 0xf
:0055979d TApplication.ProcessMessage + $101

Comments

  • edited November 2005

    This is not a known issue or an error that has been reported by any other
    user.

    What version of ReportBuilder are you using? If you are not using RB 9.03,
    try downloading a trial version of the latest release and perform the same
    test.

    If you can provide exact steps to recreate the issue, post them here. It
    might be that you are performing a sequence of operations in a specific
    order that results in an error that no one else has encountered.







    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited November 2005
    > If you can provide exact steps to recreate the issue, post them here. It

    I use the latest version.
    I noticed that my (never programming) boss has my RB license, so I'll drop
    your sales dep an e-mail with updated registration details.

    I've tried a little, and it seems that I've found a bug in my code.
    When my user selects "New Report" I generate and setup a few DataViews
    automatically.

    If a report already was loaded, I tried to remove all existing views with
    this code:
    while lDM.ChildCount > 0 do
    lDM.Children[Pred(lDM.ChildCount)].Free;

    This seems not to be a correct, so I've changed to code to:
    if lDM.ChildCount > 0 then begin
    lDM.Free;
    lDM := TfltdaDataModule.CreateForReport(Report);
    lDM.Parent := Report;
    end;

    I recreate the hole datamodule and then creates new DataViews for it.

    Is there a better way to handle this?

    /Johan
  • edited November 2005

    That code will work fine.

    You can also call Report.FreeModules to free any existing datamodule and/or
    codemodule.





    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited November 2005
    > You can also call Report.FreeModules to free any existing datamodule

    This solved my problem a little bit.
    The error message still appears sometimes when I open the "Data"-tab and
    move the cursor around.
    (Preview the report works just fine).

    It seems that old data isn't removed from the data-tab.
    I have several non-linked and empty dataviews that shouldn't be there.
    Could it perhaps be that the name of the datamodule (fltdaDataModule1) is
    the same in all my reports (autocreated)?

    I do not get the error when I open an existing report from the Designer
    itself (File | Open), but only when I use:
    FReport.Template.LoadFromDatabase;
    and then show the Designer where a report earlier has been designed.

    If I add this line before I bring up the designer, the error disappears:
    TppDesignerWindowAccess(Designer.ppDesigner.Form).DesignModuleClassListChanged(nil);

    That line seems to force the data-tab (and calc-tab) to be recreated.

    /Johan
  • edited November 2005

    Sounds like a suitable work around. I'm not sure what you are
    encountering...



    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
This discussion has been closed.