Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   TImage(FindComponent) Fehler ! (https://www.delphipraxis.net/159171-timage-findcomponent-fehler.html)

thomas2009 16. Mär 2011 21:50

TImage(FindComponent) Fehler !
 
Hi
ich kapiere nicht warum ich Fehler erhalten !
Delphi-Quellcode:
Left:=TImage(FindComponent(Edit1.Text)).left;
In edit1 steht image1

alfold 16. Mär 2011 21:56

AW: TImage(FindComponent) Fehler !
 
Welchen Fehler?:glaskugel:
alfold

wicht 16. Mär 2011 21:58

AW: TImage(FindComponent) Fehler !
 
Geraten, aber vielleicht muss es 'Image1' heißen?

thomas2009 16. Mär 2011 22:03

AW: TImage(FindComponent) Fehler !
 
Liste der Anhänge anzeigen (Anzahl: 1)
Die Meldung sagt mit nichts, es wird nur die Zeile angezeigt

alfold 16. Mär 2011 22:14

AW: TImage(FindComponent) Fehler !
 
Sieht so aus, das da was nicht da ist!?

blauweiss 16. Mär 2011 22:24

AW: TImage(FindComponent) Fehler !
 
Delphi-Quellcode:
try
  CodeOneMoreLine;
except
  PostProblemInForum;
end;

wicht 16. Mär 2011 22:46

AW: TImage(FindComponent) Fehler !
 
Mach mal sowas:

Delphi-Quellcode:
var
  x: tcomponent;
begin
  x := FindComponent(edit1.text);
Da wird x vermutlich nil sein (das siehst du im Debugger). Und das liegt daran, dass es auf dem Formular nichts gibt, was den Namen hat, der im Edit-Feld steht.
Sowas kannst du übrigens auch selbst rausfinden, das Problem runterzubrechen wie oben beschrieben ist keine Kunst, und das könnte für dich auch den Vorteil haben, dass du mit einem kleinen bisschen Eigeninitiative schneller zum Ziel kommst. Du hast schon einige Posts, aber absolut keine Basics drauf. Ich prognostiziere mal, dass dir auf Dauer hier nur noch die sehr geduldigen Menschen helfen werden, wenn du dich nicht mal ein kleines bisschen selbst bemühst, irgendetwas selber zu schaffen. Ich bin übrigens auch einer von dieser Kategorie der geduldigen Menschen würde ich sagen, aber irgendwann ist es mal gut.
Achja: Hast du überhaupt meinen Post oben beachtet...?

Zitat:

Code:
try
  CodeOneMoreLine;
except
  PostProblemInForum;
end;

+1


HTH..

himitsu 16. Mär 2011 22:47

AW: TImage(FindComponent) Fehler !
 
tja, dieser Fehler besagt einfach, daß FindComponent nichts gefunden hat.

(Zugriffsverletzung bei Adresse $000000xx besagt fast immer, daß es sich um einen NIL-Pointer handelt)



PS:

Die Namenssuche ist case-sensitiv

FindComponent ist keine Funktion, sondern eine Methode von TComponent.
Es sucht immer im angegebenen Control (ohne Angabe heißt es also Self.FindComponent) und an dieser Stelle kann auch nur das gefunden werden, wovon dieses Control der Owner ist.



PPS: Die Delphidialoge kennen Strg+C ... schwups ist der Meldungstext in der Zwischenablage und kann ohne ein Bild direkt (z.B. als Kommentar) via Strg+V im Forum gepostet werden.

nuclearping 16. Mär 2011 22:50

AW: TImage(FindComponent) Fehler !
 
Zitat:

Zitat von wicht (Beitrag 1089130)
Du hast schon einige Posts, aber absolut keine Basics drauf. Ich prognostiziere mal, dass dir auf Dauer hier nur noch die sehr geduldigen Menschen helfen werden, wenn du dich nicht mal ein kleines bisschen selbst bemühst, irgendetwas selber zu schaffen.

Spar dir die Mühe. Wenn keiner mehr helfen will, wird einfach (mal wieder) ein neuer Benutzername erstellt und schön blöd weitergefragt, bis jemand dem armen Delphi-Anfänger Taktaky hilft.

thomas2009 16. Mär 2011 23:54

AW: TImage(FindComponent) Fehler !
 
Zitat:

Zitat von alfold (Beitrag 1089126)
Sieht so aus, das da was nicht da ist!?

Deine Vermutung ist richtig aber warum ???
Ich habe einen Test gemacht. Es erscheint die selbe Fehlermeldung !
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
myimage:TImage;
begin
myimage := (FindComponent(Edit1.Text) As TImage);
Edit2.Text:=IntToStr(myimage.left);
end;
Aber in Form2 habe ich den selben Code aber es funktioniert dort ohne Fehler !!!

Editiert :
Problem gelöst :)
Delphi-Quellcode:
var
x:TImage;
begin
x :=TImage(Sender);
Edit2.Text:=IntToStr(x.left);
Danke für den Vorschlag


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:22 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz