![]() |
FindComponent und Zugriffsfehler
Hallo
In meinem programm hab ich intern mehrere Formblätter erstellt mit einem Array
Delphi-Quellcode:
Wenn ich jetzt auf das MemoFeld history etwas schreiben will per FindComponent dann sag er mir immer etwas von einem Zugriffsfehler.
for i:=0 to 50 do begin
form[i].MsgBox:=TFicMessageBox.Create(self); form[i].MsgBox.Name:='icY'+IntToStr(i); form[i].MsgBox.mhistory.Name:='mhistory'+IntToStr(i);
Delphi-Quellcode:
Woher kommt das? Ich glaube das er weiss das es mehrere mhistory gibt (1,2,3,...) und dann kommt er nicht mit klar direkt in mhistory2 zu schreiben.
TMemo(FindComponent('mhistory'+IntToStr(i))).Lines.Add('blablabla');
Hat jemand eine Idee wie ich das vergindern kann? mfg fr0g |
Re: FindComponent und Zugriffsfehler
Wo erstellst du form[i]?
|
Re: FindComponent und Zugriffsfehler
form[i] erstelle ich in meiner hauptform
und den findcomponent in einen der erstellten formen. Weil es gibt ja kein Befehl mit FindComponent aus einer anderen Form in eine andere Form zu arbeiten? |
Re: FindComponent und Zugriffsfehler
Du prüfst auch nicht, ob FindComponent überhaupt was findet, wenn nicht kommt ein freundliches nil zurück, das du dann einfach als Memo ansiehst -> Zugriffsverletzung.
Also erst das Ergebnis abholen und prüfen ob ungleich nil, dann casten und damit arbeiten |
Re: FindComponent und Zugriffsfehler
Sorry. Aber bin noch Anfänger. kannste das mal bitte ein wenig ausführlicher erklären?
Danke :-D Alles klar. Hab selber schon herraus bekommen. thx nochmal |
Re: FindComponent und Zugriffsfehler
Delphi-Quellcode:
if FindComponent('mhistory'+IntToStr(i)) as TMemo<> nil
then TMemo(FindComponent('mhistory'+IntToStr(i))).Lines.Add('blablabla'); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz