hallo zusammen
Ich habe ein Bild in meiner Anwendung und nutze dort das Ereignis Gleisbild.mousemove(......)
Dieses Event ist von Lazarus vorgegeben. in der Parameterliste stehen da die Variablen X und Y als Integer. wofür sind die denn gut, die Mauskoordinaten liefern sie mir auf jeden Fall nicht, die hole ich mir über mouse.Curserposition.x und mouse.Curserposition.y. Es geht auch alles, nur der Compiler bringt die Hinweise dass X und Y not used sind.
Solche Hinweise gibt es öfters. kann man diese irgendwo ausschalten. Wertvollere Hinweise bezüglich eigenere Proceduren gehen sonst vielleicht unter.
Gruß Fritz
mousemove
-
- Beiträge: 6194
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: mousemove
Dieses Event ist von Lazarus vorgegeben. in der Parameterliste stehen da die Variablen X und Y als Integer. wofür sind die denn gut, die Mauskoordinaten liefern sie mir auf jeden Fall nicht
Bei mir liefern sie exakt die Koordinaten zurück, sie sind Lokal auf dem Bild. Link-Oben im Bild(TImage) ist 0,0.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: mousemove
Die Koordinaten, die einem Event mitgegeben werden, sind relativ zum Objekt, das das Ereignis ausgelöst hat. Und das ist sehr sinnvoll, denn man braucht die relativen Koordinaten, um z.B. bei einem Button mit Icon feststellen zu können, ob der Click auf dem Icon erfolgte oder sonst irgendwo auf dem Icon. Andernfall müsste man je nach Fensterposition immer wieder umrechnen.
Die vielen Hinweise sind manchmal lästig, aber eigentlich als Hilfe gedacht, um Programmfehler aufzuspüren. Wenn ich an eine Methode z.B einen Item einer Listview als Parameter übergebe, verschreibe mich aber und gebe Items an, so kann (natürlich je nach Kontext) dies vom Compiler akzeptiert werden, weil es Items ja auch gibt; das programm wird sich aber nicht so verhalten wie gewünscht. Durch den Hinweis, dass Item nicht verwendet wird, kann man den Fehler vielleicht schneller finden.
Um Hinweise auzuschalten, musst du nur mit der rechten Maustaste auf dem Hinweis im Nachrichtenfenster klicken, dann erhältst du im Kontextmenü mehrere Optionen, die Meldung fur für diese Zeile, für die ganze Unit oder das ganze Projekt auszuschalten.
Die vielen Hinweise sind manchmal lästig, aber eigentlich als Hilfe gedacht, um Programmfehler aufzuspüren. Wenn ich an eine Methode z.B einen Item einer Listview als Parameter übergebe, verschreibe mich aber und gebe Items an, so kann (natürlich je nach Kontext) dies vom Compiler akzeptiert werden, weil es Items ja auch gibt; das programm wird sich aber nicht so verhalten wie gewünscht. Durch den Hinweis, dass Item nicht verwendet wird, kann man den Fehler vielleicht schneller finden.
Um Hinweise auzuschalten, musst du nur mit der rechten Maustaste auf dem Hinweis im Nachrichtenfenster klicken, dann erhältst du im Kontextmenü mehrere Optionen, die Meldung fur für diese Zeile, für die ganze Unit oder das ganze Projekt auszuschalten.
-
- Beiträge: 185
- Registriert: Fr 18. Jan 2013, 09:29
- OS, Lazarus, FPC: Windows 10, Windows XP, Lazarus 1.6
- CPU-Target: Celeron
Re: mousemove
Danke, jetzt gehts. Weiß jetzt nicht mehr was ich falsch gemacht hatte.
wp_xyz Danke der Hinweis war sehr wertvol für mich.
wp_xyz Danke der Hinweis war sehr wertvol für mich.