Einzelnen Beitrag anzeigen

Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
804 Beiträge
 
Delphi 10.4 Sydney
 
#1

Zugriff auf dynamisch erstellte Objecte

  Alt 16. Jan 2019, 11:17
Hallo Zusammen,

ich bitte um Hilfe.

Ich erstelle zur Laufzeit ein TAdvDateTimePicker (TMS-Komponente)
Delphi-Quellcode:
procedure TFrame_Planung.TabGridCreate(Name: string);
var StartDate: TAdvDateTimePicker;
//Start_DateTimePicker
   StartDate:= TAdvDateTimePicker.Create(Self);
   StartDate.Parent:= Panel;
   StartDate.Name:='Date'+Name;
   StartDate.Visible:=true;
   StartDate.Left:=23;
   StartDate.Top:=20;
   StartDate.Height:=21;
   StartDate.Width:=200;
   //Start-Default-Wert
   StartDate.DateTime:= StrToDateTime(DateToStr(Now)+' '+MySQL.Find_Property('Default_Start_1_FA', 'Wert'));
Das klappt auch wunderbar und ich kann auch den DefaultWert zuweisen.

Jetzt möchte ich in einer anderen Prozedur den DateTime-Wert abgreifen, aber das bekomme ich nicht hin...

Delphi-Quellcode:
procedure TFrame_Planung.Datengrid_Counting(SG: TAdvStringGrid);
var I: integer;
      DateTimePicker: TAdvDateTimePicker;
      Anfang: TDateTime;
begin
   DateTimePicker:=PageControl_Maschinen.ActivePage.FindComponent('Date'+Copy(SG.Name,6,Length(SG.Name)-5)) as TAdvDateTimePicker;
   Anfang:=DateTimePicker.DateTime;
   for I := 2 to SG.RowCount -2 do begin
      ...
      //Kumuliertes Datum ermitteln
      if SG.Cells[13,I]<>'00:00then begin
         Anfang:=Anfang+StrToTime(SG.Cells[13,I]);
         SG.Cells[14,I]:=DateToStr(Anfang);
      end;
   end;
end;
Ich habe immmer einen Zugriffsfehler, als würde der TAdvDateTimePicker garnicht gefunden werden...

Wenn ich folgendes versuche:

Anfang:=PageControl_Maschinen.ActivePage.FindComponent('Date'+Copy(SG.Name,6,Length(SG.Name)-5)) as TAdvDateTimePicker.DateTime;
dann kann ich gar nicht compilieren, weil ich folgenden Hinweis bekomme:
[DCC Fehler] Frame_PlanungUnit.pas(823): E2233 Auf Eigenschaft 'DateTime' kann hier nicht zugegriffen werden

Sieht jemand meinen Fehler?

Vielen Dank
Patrick
Patrick
  Mit Zitat antworten Zitat