Einzelnen Beitrag anzeigen

maanton

Registriert seit: 10. Sep 2007
16 Beiträge
 
#7

Re: Breakpoint setzen versagt in Unit...; Delphi 6

  Alt 24. Sep 2007, 20:51
Hallo !

Und hier die Auflösung des Preisrätsels :

In der Interface-Sektion ist eine Recordliste nit DB-Felddaten definiert :
Delphi-Quellcode:
NA_LADETABELLE : array [0..40] of TDBFeldInfoRecord = (
  (
   FeldName : 'VORNAME';
   FeldTyp : 'ZEICHEN';
   ...
   Editierbar : FALSE;
   Angezeigt : TRUE;
   ...
   LabelName : 'LPRENAME';
   LabelText : '&Vorname : '
  ),(
   FeldName : 'NAME';
   FeldTyp : 'ZEICHEN';
   ...
  ),(
   ...
  ),
  ...
);
Diese Recordtabelle dient zur Steuerung der Ausleseroutinen, Darstellungsroutinen, Userrechte, ... . Es sind also alle Infos dadrin verpackt, die man Feldspezifisch, Componentspezifisch,... so braucht ... . Einzelfelder des Records (z.B. LabelText) wurden als shortstring deklariert. Daher ist der Speicherbedarf des ganzen Blockes (bei 41 Elementen) ziemlich gross (> 64K);

Was also in einer anderen Unit mit 22 Elementen noch funktioniert hat (also das Setzen von Breakpoints) funzte bei 41 Elementen nicht mehr.

Es spielt dabei (wohl) keine Rolle (habs nicht ausprobiert) , ob man mehrere Konstantendeklarationen hat die dann in Summe 64K überschreiten).

Verkürzung der String-Deklarationen via string[10] bzw. string[100] brachte das gewünschte Resultat .

Vielen Dank für die Unterstützung
maanton
  Mit Zitat antworten Zitat