Einzelnen Beitrag anzeigen

triangulum

Registriert seit: 21. Jul 2006
39 Beiträge
 
Delphi 7 Professional
 
#7

Re: Leidiges EAccessViolation bei dynamischer TabSheet-Erze

  Alt 14. Dez 2006, 12:46
Zitat:
Erste Gelegenheit für Exception bei $7C812A5B. Exception-Klasse EAccessViolation mit Meldung 'Zugriffsverletzung bei Adresse 0047E4CE in Modul 'soundso.exe'. Lesen von Adresse 00000268'. Prozess soundso.exe (3916)
. Soweit die IDE

Die Funktion:

Delphi-Quellcode:
Procedure TFrameCCDiagrams.AddTabSheets;
Var j:Integer;
Begin
  // destroy greeting message; overlapped by diagrams
  { // dec. 14
  objectExists := (LabelNoDataLoaded is TLabel);
  if objectExists then LabelNoDataLoaded.Free;
   }

   
  // setup array lengths, depending on no. of diff't temperatures
  SetLength(TabSheetCCDiagramsArray, CD.nTemp);
  SetLength(FrameCCDiagramArray, CD.nTemp);

 // create and setup diagrams
 For j:=0 To Pred(CD.nTemp) Do Begin
     // 1. create, setup tab sheet
     TabSheetCCDiagramsArray[j] := TTabSheet.Create(self);
     TabSheetCCDiagramsArray[j].Parent := PageControlCCDiagrams;
     TabSheetCCDiagramsArray[j].PageControl := PageControlCCDiagrams;
     TabSheetCCDiagramsArray[j].Caption := CD.TempStr(j);
     TabSheetCCDiagramsArray[j].Name := 'TabSheet'+IntToStr(j);

     // 2. create, setup CC container frame
     FrameCCDiagramArray[j] := TFrameCCDiagram.Create(Self);
     FrameCCDiagramArray[j].Parent := TabSheetCCDiagramsArray[j];
     FrameCCDiagramArray[j].Name := 'CCFrame'+IntToStr(j);
     FrameCCDiagramArray[j].Top := 10;
     FrameCCDiagramArray[j].Left := 10;
     FrameCCDiagramArray[j].Height := TabSheetCCDiagramsArray[j].Height-5;
     FrameCCDiagramArray[j].Width := TabSheetCCDiagramsArray[j].Width -20;
     FrameCCDiagramArray[j].TIndex := j;

     // 3. create and setup diagrams within diagram container frames
     FrameCCDiagramArray[j].CreateDiagram;
     ShowData(j); // immer zuerst logarithmisch darstellen
     FrameCCDiagramArray[j].CCDiagram.AutoMinMax;

     FrameCCDiagramArray[j].CCDiagram.GF3 := False;
     FrameCCDiagramArray[j].CCDiagram.EpmLocked := False;
     FrameCCDiagramArray[j].CCDiagram.F1mLocked := False;
     FrameCCDiagramArray[j].CCDiagram.ValidResults := False;

     FrameCCDiagramArray[j].CCDiagram.Busy := False;
     FrameCCDiagramArray[j].CCDiagram.Abort := False;


 End;
End;
Multa narrare possum, sed longum est ....
  Mit Zitat antworten Zitat