Beep aus einem Datamodule ?

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
wbauer59
Beiträge: 10
Registriert: Fr 14. Dez 2007, 11:56

Beep aus einem Datamodule ?

Beitrag von wbauer59 »

Ich möchte aus einem Programm, dass zwecks "Unsichtbarkeit" nur ein Datamodule enthält, einen Beep absetzen, um auf eine MessageBox-Meldung aufmerksam zu machen. Beim Kompilieren erhalte ich dann aber diese Fehlermeldung:

Datamodule.pas(187,3) Error: Wrong number of parameters specified for call to "Beep"
Datamodule.pas(207) Fatal: There were 1 errors compiling module, stopping

Was soll mir das sagen?
Was muß ich tun, um einen Beep oder einen anderen Ton zu erzeugen?

mfg
Werner

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

was hast denn geschrieben?

Beep hat eigentlich keine Parameter und dann sollte es gehen:
http://www.freepascal.org/docs-html/rtl ... /beep.html" onclick="window.open(this.href);return false;
Johannes

wbauer59
Beiträge: 10
Registriert: Fr 14. Dez 2007, 11:56

Beitrag von wbauer59 »

Der Code sieht folgendermaßen aus:
----------------------------------------------------------------------------------
procedure TDataModule1.EndeWarnerTimer(Sender: TObject);
begin
EndeWarner.Enabled:=False;
beep;
Application.MessageBox('Dieser PC kann heute nur noch 5 Minuten genutzt werden.'
+chr(13)+'Der PC wird dann automatisch ausgeschaltet.',
'Kontrolle der Nutzungszeit',0);
end;
----------------------------------------------------------------------------------
und ich bin auch verblüfft über die Fehlermeldung 'Wrong number of parameters'. Zumal es in einer kurzen Testapplication geht (allerdings hat die eine Form und nicht nur ein Datamodule).

creed steiger
Beiträge: 958
Registriert: Mo 11. Sep 2006, 22:56

Beitrag von creed steiger »

geht
write (stdout,#7);
?

wbauer59
Beiträge: 10
Registriert: Fr 14. Dez 2007, 11:56

Beitrag von wbauer59 »

Leider nein, "write (stdout,#7);" bringt keinen Ton hervor.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Entweder du versuchst mit Deklaration Finden mal zu schaun was das fürn beep ist das du da versuchst aufzurufen, oder du deklarierst es gleich implizit mit SysUtils.Beep; Ich vermote mal ganz stark du hast die Windows Unit in deiner Unit eingebunden dort muss noch der Parameter was fürn beep es sein soll mit übergeben werden. Ist dann natürlich nicht Plattformunabhängig.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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

Beitrag von theo »

@Christian: Wenn du seine OS-Sig anschaust, steht da nichts von Win.
Beep unter Linux geht meistens nicht. Ich glaube das benötigt Root Rechte.
Lasse mich gern vom Gegenteil überzeugen.

wbauer59
Beiträge: 10
Registriert: Fr 14. Dez 2007, 11:56

Beitrag von wbauer59 »

@Christian: Vielen Dank, jetzt funktioniert es (mit Aufruf sysutils.beep;).
Kann ich irgendwo nachlesen, warum ich sysutils deklarieren muß, wenn ich nur ein Datamodul habe und nicht, wenn ich ein Form habe? Ist ja immer schön, wenn ich was zum fliegen kriege, aber noch schöner, wenn ich auch verstehe wieso;-).

@ Theo: Ich wußte gar nicht, dass ich eine Signatur hatte. Hab' sie auf Stand gebracht. Christian wußte wohl von meiner vorigen Frage noch, dass es um W2k geht. Mit SUSE 10.3 mache ich gerade die ersten Schritte, das als mein System einzutragen, wäre ein bißchen Hochstapelei.

mfg
Werner

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

@Christian: Wenn du seine OS-Sig anschaust, steht da nichts von Win.
Beep unter Linux geht meistens nicht. Ich glaube das benötigt Root Rechte.
Lasse mich gern vom Gegenteil überzeugen.
Hat er das W2K in den letzten 10 min eingefügt ? > OK hat sich erledigt gelesen.
Ich hab gar net auf seine OS Sig geachtet ich kenn nur die deklaration von beep der Windows unit und bin deshalb davon ausgegangen das er Windows nutzt.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten