ich brauche eine delay methode, die bei linux läuft.

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
hanibal
Beiträge: 369
Registriert: Sa 3. Mär 2007, 16:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Bramsche (Emsland)

ich brauche eine delay methode, die bei linux läuft.

Beitrag von hanibal »

ich habe bei win diese methode benutzt:

Code: Alles auswählen

procedure Delay(dwMillSec: DWord);
var
  aHandle: THandle;
  dwStart:DWord;
begin
  aHandle  := GetCurrentThread;
  dwStart  := GetTickCount + dwMillSec;
 
 
  while MsgWaitForMultipleObjects(1, aHandle, False, dwMillSec, QS_ALLINPUT) <> WAIT_TIMEOUT do
  begin
    Application.ProcessMessages;
    dwMillSec := GetTickCount;
    if dwMillSec < dwStart then
      dwMillSec := dwStart - dwMillSec
    else
      Exit;
      if endebef = true then
      begin
      exit;
      endebef := false;
      end;
  end;
end;


doch bei linux mit lazaruis mekkert er, das er da einige sachen nicht kennt :(

muss man dafür villeicht ein paar units einbinden?
und welche?
oder gibt es dafür eine alternative?
sleep funktionierte nicht so wie dashier unter windows...

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 »

Unter Windows musst du die Unit windows einbinden, dann gehst.

Das Problem ist, das du direkt auch WinAPI-Funktionen zurückgreifst, die es unter Ubuntu natürlich nicht so gibt.

Dir wird also nichts anderes übrig bleiben, als die Funktion für Ubuntu neu zu schreiben.

hanibal
Beiträge: 369
Registriert: Sa 3. Mär 2007, 16:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Bramsche (Emsland)

Beitrag von hanibal »

wie heißen die befehle bei ubuntu denn?

muss ich dann linux einbinden?
:oops:

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 »

wiso nimmst du nicht sleep ??
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

monta hat geschrieben:Das Problem ist, das du direkt auch WinAPI-Funktionen zurückgreifst, die es unter Ubuntu natürlich nicht so gibt.

Dir wird also nichts anderes übrig bleiben, als die Funktion für Ubuntu neu zu schreiben.


Hallo!

GetTickCount und weitere Befehle gibt es Plattformunabhängig, wenn du die unit lclintf einbindest ;)
(wenn ich mich nicht irre)

Viele Grüße, Euklid

hanibal
Beiträge: 369
Registriert: Sa 3. Mär 2007, 16:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Bramsche (Emsland)

Beitrag von hanibal »

es geth aber wiesscheint um die function GetCurrentThread

unit1.pas(84,15) Error: Identifier not found "GetCurrentThread"
unit1.pas(88,9) Error: Identifier not found "MsgWaitForMultipleObjects"
unit1.pas(88,65) Error: Identifier not found "QS_ALLINPUT"
unit1.pas(88,81) Error: Identifier not found "WAIT_TIMEOUT"
unit1.pas(244,35) Hint: Type size mismatch, possible loss of data / range check error
unit1.pas(897) Fatal: There were 4 errors compiling module, stopping

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 »

Bekomm ich ne antwort ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

hanibal
Beiträge: 369
Registriert: Sa 3. Mär 2007, 16:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Bramsche (Emsland)

Beitrag von hanibal »

sleep habe ich schon getestet, gab nicht den selben effeckt, wie unter windows.
ich habe vor, ein shape visible:= true zu machen, und dann n sleep, dann das nächste sleep

doch er macht dann ein langes sleep,(alle sleeeps hintereinander) und dann alle visiles auf einmal.

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

Beitrag von theo »

Shape.Visible:=True
Application.Processmessages
Sleep(..)

hanibal
Beiträge: 369
Registriert: Sa 3. Mär 2007, 16:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Bramsche (Emsland)

Beitrag von hanibal »

werde ich nacher mal testen, bin gerade dabei, mein sistem neu aufzuserten, da ich mein ubuntu ein wenig kaputt konfiguirt habe.

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 »

Pluto hab ich ja schon soweit das er die Rechtschreibhilfen vom Firefox benutzt vielleicht bekomme ich dich auch noch dahin :). Das scheint mittlerweile wirklich ein Problem zu sein.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

hanibal
Beiträge: 369
Registriert: Sa 3. Mär 2007, 16:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Bramsche (Emsland)

Beitrag von hanibal »

wie stell ich die rechtschreibuntersuchung auf deutsch? :oops: ?

das mit processmessage funktioniert, hätt ich eig auch selbst drauf kommen müssen :oops: :oops: :oops: :oops: :oops:

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 »

Rechte Maustaste->Sprachen->Deutsch/Deutschland musst du möglicherweise auf einem falsch gekennzeichneten Wort machen.

Unter Ubuntu solltes aber wenn die Sprachdateien installiert sind auch schon so gehen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

hanibal
Beiträge: 369
Registriert: Sa 3. Mär 2007, 16:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Bramsche (Emsland)

Beitrag von hanibal »

ich teste das gerade mit dieser Antwort.

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 »

Ich muss sagen bin zufrieden, der Thementitel war schlimmer ;)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten