Ergebnis 1 bis 9 von 9

Thema: delphi, programm schliessen

  1. #1
    Registriert seit
    18.03.2003
    Beiträge
    134

    delphi, programm schliessen

    hallo!

    vielleicht kann mir jemand helfen...

    ich möchte ein delphi-programm sofort nach dem ausführen wieder schliessen.

    mit nem close-button funktioniert es (prozdur close).
    ich möchte aber, dass das fenster von alleine sofort wieder zu geht.

    schreibe ich close hinter den programm-text passiert nichts...

  2. #2
    Registriert seit
    12.05.2003
    Beiträge
    287
    Application.terminate;

    MfG Steffen

  3. #3
    Registriert seit
    18.12.2001
    Beiträge
    4.989
    Oder ganz einfach "halt" hinschreiben.
    Hat den selben Effekt.

    Gruß Joachim

  4. #4
    Registriert seit
    18.03.2003
    Beiträge
    134

    danke!

    ihr habt mir sehr geholfen!!! :)))

  5. #5
    Registriert seit
    18.03.2003
    Beiträge
    134

    delphi, timer-objekt unter XP/ME

    hallo delphi-freaks!

    folgendes: ich habe ein programm geschrieben, das in 120 sekunden beendet.
    in der zeit wird in einer edit-komponente sekündlich um 1 heruntergezählt.

    realisiert habe ich das ganze mit zwei timer-komponenten:
    die erste läuft 120 sekunden und beendet dann das programm.
    die zweite zählt sekündlich die zahl in der edit-komponente herunter.

    läuft auch (fast) super das ganze.

    folgendes problem:
    lasse ich das proggi unter win XP laufen, so ist alles bestens.
    lasse ich es unter win ME laufen (was es eigentlich soll), so beendet das programm ziemlich genau 7 sekunden zu früh!

  6. #6
    Registriert seit
    12.05.2003
    Beiträge
    287
    Hallo,

    also von ME halt ich sowieso nix. Heißt ja schon Multi-Error. ;)
    Wenns dennoch ME sein muss, würde ich folgendes probieren:

    - 7 sekunden länger machen, also 127 sek. (primitiv)
    - die 120 sek den Sekunden-Timer mit machen lassen, also den Timer ne variable zählen lassen und entsprechend dann beenden

    Beste Variante ist aber das ME nicht zu nehmen. ;)

    MfG Steffen

  7. #7
    Registriert seit
    18.03.2003
    Beiträge
    134

    win me

    ja, so habe ich das auch gemacht... nur wie kommt sowas zustande?win me fehler?

    noch ne frage: kann man String in PChar umwandeln?

  8. #8
    HerosOL10 Gast

    String in Pchar wandeln

    Hallo PocFreak

    Ja das geht:

    x:= pchar('Hallo Welt');

  9. #9
    Registriert seit
    18.12.2001
    Beiträge
    4.989
    @PocFreak

    Das liegt u.U. daran, das Timer sehr CPU-lastige Komponenten sind. Man sollte immer so wenig Timer wie möglich nehmen.
    Außerdem sind Timer nicht immer auf die Millisekunde genau.

    Je länger ein Timer eingestellt ist, desto größer ist auch die ungenauigkeit.

    Mein Vorschlag : EINEN Timer benutzen, der mit 1000ms läuft.
    Dabei soll er sich jedesmal die Systemzeit holen und mit der Startzeit vergleichen. Die Systemzeit ist immer auf die ms genau.
    Prüfe einfach ob die Systemzeit sich nach dem Programmstart um 2 Minuten geändert hat und dann beende dein Programm.

    Die Anzeige im Textfeld soll ja sicher nur anzeigen, wie lange das Programm noch offen ist, oder ?

    Alternativ kannst du auch einfach in den 1000ms Timer nen Zähler reinmachen, der bis 120 zählt und dann beendet.
    Das ist aber auch noch recht ungenau.

    Kannst mich auch gerne mal per Mail kontaktieren.
    Gibt noch einige andere Möglichkeiten.

    Gruß Joachim

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •