Fehler beim compilieren: "Hint: Parameter ... not used"

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.
Antworten
MitjaStachowiak
Lazarusforum e. V.
Beiträge: 394
Registriert: Sa 15. Mai 2010, 13:46
CPU-Target: 64 bit
Kontaktdaten:

Fehler beim compilieren: "Hint: Parameter ... not used"

Beitrag von MitjaStachowiak »

Hallo,
ich war gerade dabei, ein Error-Log für mein Programm zu schreiben:

Code: Alles auswählen

unit ErrorLog;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, ExtCtrls{, ZeitTools};
 
type
 TErrorLog_Item = record
  Art   : Byte;
  Email : Boolean;
  Text  : AnsiString;
//  Zeit  : TZeit;
 end;
 
 TErrorLog = class
  private
   P : TPanel;
   procedure Paint(Sender : TObject);
  public
   constructor Create;
   procedure Report(Art : Byte; Email : Boolean; const Text : AnsiString);
   procedure SetPanel(Panel : TPanel);
 end;
 
var
 Err : TErrorLog;
 
implementation
 
constructor TErrorLog.Create;
begin
 P := nil;
end;
 
procedure TErrorLog.SetPanel(Panel : TPanel);
begin
 if (P <> nil) then P.OnPaint := nil;
 P := Panel;
 P.OnPaint := @Paint;
end;
 
procedure TErrorLog.Report(Art : Byte; Email : Boolean; const Text : AnsiString);
begin
 
 Paint(nil);
end;
 
procedure TErrorLog.Paint(Sender : TObject);
begin
 if (Sender = nil) then begin end;     // sinnlose Verwendung, hilft aber gegen den Fehler
 if (P = nil) then exit;
 P.Canvas.Line(0,0,50,50);
end;
 
initialization
 Err := TErrorLog.Create;
 
finalization
 Err.Free;
 
end.

Ich weiß nicht, was ich gemacht habe, aber plötzlich lies sich diese Unit nicht mehr compilieren. Der einzige Fehler:

Code: Alles auswählen

ErrorLog.pas(24,21) Hint: Parameter "Art" not used
:shock:

Wenn ich die Parameter irgendwo im Quelltext verwende, geht's (Ist in meinem Fall aber für z.B. Sender ziemlich unnötig). Wenn ich Lazarus schließe, wieder öffne und dann gleich compiliere, geht's auch. Erst wenn ich etwas an dieser Unit verändere, kommt der Fehler. Ich habe es schon in einem neuen, leeren Projekt versucht und die Unit Stück für Stück neu erstellt, aber der Fehler kommt immer noch :(

Könnt ihr mal ausprobieren, ob es bei euch auch hängt?

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Fehler beim compilieren: "Hint: Parameter ... not used"

Beitrag von theo »

Was für ein Fehler? Der Hint (Hinweis) ist ja kein Fehler. Was geht denn nicht?

MitjaStachowiak
Lazarusforum e. V.
Beiträge: 394
Registriert: Sa 15. Mai 2010, 13:46
CPU-Target: 64 bit
Kontaktdaten:

Re: Fehler beim compilieren: "Hint: Parameter ... not used"

Beitrag von MitjaStachowiak »

Eigentlich sollte der Hinweis auch kein Fehler sein, aber in dieser Unit ist ein rotes Ausrufezeichen davor und der Compiler bleibt hängen.
Dateianhänge
Ein Screenshot der Fehlermeldung
Ein Screenshot der Fehlermeldung
Screenshot.jpg (9.93 KiB) 2026 mal betrachtet

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Fehler beim compilieren: "Hint: Parameter ... not used"

Beitrag von Socke »

MitjaStachowiak hat geschrieben:Wenn ich die Parameter irgendwo im Quelltext verwende, geht's (Ist in meinem Fall aber für z.B. Sender ziemlich unnötig).

Der Free Pascal Compiler generiert für jeden nicht genutzten Parameter eine solche Meldung, Lazarus unterdrückt aber (mindestens) alle, die sich auf den Parameter "Sender" beziehen (ausschaltbar). Daher wundert es mich sehr, dass nur diese eine Meldung erscheint.

Was steht denn sonst noch im Log? (Rechtsklick in das Nachrichten-Fenster und den Menüpunkt zum Kopieren aller Meldungen auswählen)
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Eclipticon
Beiträge: 292
Registriert: Sa 5. Feb 2011, 20:38
OS, Lazarus, FPC: Windows XP VirtualBox (FPC 2.6.4, Laz 1.2.4)
CPU-Target: 32Bit
Wohnort: Wien

Re: Fehler beim compilieren: "Hint: Parameter ... not used"

Beitrag von Eclipticon »

Strange ... versuch es doch mal mit:

Code: Alles auswählen

procedure Paint({%H-}Sender : TObject);

Heinrich Wolf
Beiträge: 323
Registriert: Di 12. Apr 2011, 13:21
OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
CPU-Target: 1core 1,8GHz 32Bit
Wohnort: Fürth
Kontaktdaten:

Re: Fehler beim compilieren: "Hint: Parameter ... not used"

Beitrag von Heinrich Wolf »

Bei mir kommt der rote Hint mit Abbruch des Compilierens sporadisch auch, sowohl unter Windows als auch Linux (beides 32 Bit). Ein andermal startet dann meine Test-Anwendung mit Deiner Unit. Getestet mit fpc 2.5.1 und Lazarus 0.9.31 .

Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Re: Fehler beim compilieren: "Hint: Parameter ... not used"

Beitrag von Maik81ftl »

Mri mal erlaubt deine Unit bei mir zu Testen...

Das einzige, was ich hier sehen, ist

Code: Alles auswählen

Options changed, recompiling clean with -B
Hint: Start of reading config file /etc/fpc.cfg
Hint: End of reading config file /etc/fpc.cfg
Free Pascal Compiler version 2.4.4-1 [2011/05/23] for x86_64
Copyright (c) 1993-2010 by Florian Klaempfl
Target OS: Linux for x86-64
Compiling IPS_Test.lpr
Compiling unit1.pas
unit1.pas(48,5) Note: Local variable "ServerIP" not used
unit1.pas(49,5) Note: Local variable "Verbindungsaufbau" is assigned but never used
unit1.pas(24,28) Hint: Parameter "Sender" not used
unit1.pas(25,28) Hint: Parameter "Sender" not used
unit1.pas(26,28) Hint: Parameter "Sender" not used
unit1.pas(28,32) Hint: Parameter "aSocket" not used
unit1.pas(29,46) Hint: Parameter "aSocket" not used
Compiling /home/maik81ftl/Programming/Sammlungen/errorlog.pas
/home/maik81ftl/Programming/Sammlungen/errorlog.pas(24,21) Hint: Parameter "Art" not used
/home/maik81ftl/Programming/Sammlungen/errorlog.pas(24,33) Hint: Parameter "Email" not used
/home/maik81ftl/Programming/Sammlungen/errorlog.pas(24,56) Hint: Parameter "Text" not used
Compiling resource /home/maik81ftl/Programming/Netzwerk/lib/x86_64-linux/IPS_Test.or
Linking /home/maik81ftl/Programming/Netzwerk/lib/x86_64-linux/IPS_Test
/usr/bin/ld: warning: /home/maik81ftl/Programming/Netzwerk/lib/x86_64-linux/link.res contains output sections; did you forget -T?
174 lines compiled, 13.10 sec
10 hint(s) issued
2 note(s) issued
Projekt "IPS_Test" erfolgreich kompiliert. :)


NUr erst mal sehen, wie ich die nun in mein Projekt zum Test einbinde. um genauer was zu sagen. -.-
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

MitjaStachowiak
Lazarusforum e. V.
Beiträge: 394
Registriert: Sa 15. Mai 2010, 13:46
CPU-Target: 64 bit
Kontaktdaten:

Re: Fehler beim compilieren: "Hint: Parameter ... not used"

Beitrag von MitjaStachowiak »

Also auf Linux geht es bei mir auch.
Auf Windows habe ich eben Lazarus noch mal neuinstalliert. Dann: Datei --> Neu --> Anwendung; alles speichern; Datei --> Neu --> Unit; obigen Quellcode einfügen; alles speichern; Unit einbinden; compilieren; FEHLER!

Durch die oben kommentierte Zeile wird der Fehler mit Sender übersprungen und es heißt Parameter "Art" not used. Der Fehler tritt immer auf, wenn man an dieser Unit etwas ändert und verschwindet, sobald man im Quelltexteditor zwischen verschiedenen Units umschaltet.

Wenn ich in einer Funktion eine Variable definiere ohne diese zu verwenden, hängt es auch; Meldungen, wie Warning: Local variable "test" does not seem to be initialized führen ebenfalls zum Abbruch.
Ich weiß nicht, was an dieser Unit so anders ist, aber es scheint, als würde der Compiler alle Hinweise und Meldungen für Fehler halten. :roll:

Das mit dem {%H-} hat übrigens nicht geholfen.

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Fehler beim compilieren: "Hint: Parameter ... not used"

Beitrag von Socke »

Socke hat geschrieben:Was steht denn sonst noch im Log? (Rechtsklick in das Nachrichten-Fenster und den Menüpunkt zum Kopieren aller Meldungen auswählen)
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

MitjaStachowiak
Lazarusforum e. V.
Beiträge: 394
Registriert: Sa 15. Mai 2010, 13:46
CPU-Target: 64 bit
Kontaktdaten:

Re: Fehler beim compilieren: "Hint: Parameter ... not used"

Beitrag von MitjaStachowiak »

Aah, es gibt noch verborgene Meldungen...
Also hier alles:

Code: Alles auswählen

Hint: Start of reading config file c:\lazarus\32\fpc\2.4.2\bin\i386-win32\fpc.cfg
Hint: End of reading config file c:\lazarus\32\fpc\2.4.2\bin\i386-win32\fpc.cfg
Free Pascal Compiler version 2.4.2 [2011/03/08] for i386
Copyright (c) 1993-2010 by Florian Klaempfl
Target OS: Win32 for i386
Compiling project1.lpr
Compiling Unit1.pas
Compiling ErrorLog.pas
ErrorLog.pas(24,21) Hint: Parameter "Art" not used

Dürfte aber nicht wirklich ergiebig sein. Bin ich der einzige, der das beobachtet hat, oder bleibt es bei euch auch hängen?

Antworten