AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Nur projekt datei - wie am laufen bleiben ?
Thema durchsuchen
Ansicht
Themen-Optionen

Nur projekt datei - wie am laufen bleiben ?

Ein Thema von Rastaman · begonnen am 28. Mai 2005 · letzter Beitrag vom 29. Mai 2005
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#1

Nur projekt datei - wie am laufen bleiben ?

  Alt 28. Mai 2005, 23:06
Hallo. Ich habe nur eine Projektdatei ohne units und es soll in diesem Prog auch keine Forms geben.
Allerdings beendet sich das Programm sofort nach dem Start. Muss man da eine Nachrichtenschleife oder so benutzen ?
Ich hab keine Ahnung. Need some help.

PS: Hoffe richtiges Forum.
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: Nur projekt datei - wie am laufen bleiben ?

  Alt 28. Mai 2005, 23:13
Hallo ,

Was macht denn dein Projekt? Wenn es eine Konsolenanwendung ist hilft vieleicht ein readln am Ende.

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#3

Re: Nur projekt datei - wie am laufen bleiben ?

  Alt 28. Mai 2005, 23:15
Nein. Es ist einfach etwas nicht visuelles das im Hintergrund laufen soll.
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Nur projekt datei - wie am laufen bleiben ?

  Alt 28. Mai 2005, 23:15
Muss eine Schleife sein, den was sollte es sonst sein!
Felix K.
Zitat:
Siehst du diesen Park da unten?
Jeden Tag lernen sich leute kennen und verlassen einander, und du hast dein ganzes Leben Zeit darin zu gehen!
  Mit Zitat antworten Zitat
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#5

Re: Nur projekt datei - wie am laufen bleiben ?

  Alt 28. Mai 2005, 23:17
Eben das weiß ich ja nicht

Delphi-Quellcode:
program Project1;

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

{$R *.res}

begin


end.
das is alles

//Edit: Obwohl man Forms bei uses auch weg lassen könnte...
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Nur projekt datei - wie am laufen bleiben ?

  Alt 29. Mai 2005, 06:59
Hallo Gerrit,

das ist definitiv zu wenig, weil du ohne Form keine message pump hast. Probiere es mal so:

Delphi-Quellcode:
  Application.Initialize;
  Application.Run;
  repeat
    Application.HandleMessage;
  until Application.Terminated;
Der normale Weg - um Dinge im Hintergrund zu erledigen - ist ein Service. Aber vielleicht hast du ja einen guten Grund für deine Vorgehensweise. Du solltest deiner Anwendung aber noch ein TrayIcon spendieren, damit es einen ordentlichen Weg zum Beenden gibt.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#7

Re: Nur projekt datei - wie am laufen bleiben ?

  Alt 29. Mai 2005, 11:27
Jo ok. Vielen Dank.
Allerdings funktionieren andere Sachen nicht.
Delphi-Quellcode:
program Project1;

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

var
  timer: TTimer;

{$R *.res}

procedure timerOnTimer(Sender: TObject);
begin

  ShowMessage('Hallo');

end;

begin

  Application.Initialize;
  Application.Run;

  timer := TTimer.Create(nil);
  timer.Interval := 1000;
  timer.Enabled := True;

  repeat
    Application.HandleMessage;
  until Application.Terminated;
end.
Das Programm bleibt an aber es kommt kein 'Hallo'
Das mit dem Timer ist jetz nur ein Test um zu gucken ob auch andere procedure später aufrufbar sind.
Klappt aber nicht
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat
BenjaminH

Registriert seit: 14. Okt 2004
Ort: Freiburg im Breisgau
713 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Nur projekt datei - wie am laufen bleiben ?

  Alt 29. Mai 2005, 11:30
Du musst dem Timer das Ereignis noch zuweisen:
Timer.OnTImer:=TimerOnTimer;
Benjamin
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Nur projekt datei - wie am laufen bleiben ?

  Alt 29. Mai 2005, 11:39
Zitat von Gerrit89:
Nein. Es ist einfach etwas nicht visuelles das im Hintergrund laufen soll.
Dann mach doch ein Service draus...
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: Nur projekt datei - wie am laufen bleiben ?

  Alt 29. Mai 2005, 12:17
Zitat von Gerrit89:
Jo ok. Vielen Dank. Allerdings funktionieren andere Sachen nicht. Das Programm bleibt an aber es kommt kein 'Hallo'. Das mit dem Timer ist jetz nur ein Test um zu gucken ob auch andere procedure später aufrufbar sind.
Klappt aber nicht
Komisch - bei mir geht das:

Delphi-Quellcode:
program NoForm;

uses
  Dialogs,
  ExtCtrls,
  Forms;

{$R *.res}

type
  TGerritTimer = class(TTimer)
  private
    procedure TimerOnTimer(Sender: TObject);
  public
    constructor Create;
  end;

const
  MaxEventCount = 5;
    
var
  Timer: TGerritTimer;
  EventCount: integer = 0;

constructor TGerritTimer.Create;
begin
  inherited Create(Application);
  OnTimer := TimerOnTimer;
end;

procedure TGerritTimer.TimerOnTimer(Sender: TObject);
begin
  with Sender as TTimer do
    Enabled := false;
  Inc(EventCount);
  if EventCount > MaxEventCount then
    Application.Terminate
  else begin
    ShowMessage('Hallo');
    with Sender as TTimer do
      Enabled := true;
  end;
end;

begin
  Application.Initialize;
  Application.Run;

  Timer := TGerritTimer.Create;
  Timer.Interval := 1000;
  Timer.Enabled := true;

  repeat
    Application.HandleMessage;
  until Application.Terminated;
end.
Ich denke du merkst jetzt, was du ändern musst.

Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz