Avatar billede baileys Nybegynder
06. august 2006 - 12:05 Der er 3 kommentarer

Starte "tomt" program

Jeg har haft en service, som jeg nu bare vil konventere til en baggrundsprocess - så jeg har taget udgangspunkt i en console-application, og derefter udkommenteret referencen til at det er en conesole-application.. men hvordan får jeg kickstartet main-threaden til ikke at afslutte lige efter min initialisering af constructoren af min "hovedklasse"? Jeg regner med at jeg skal have en thread der holder applikationen i live, men hvordan?

Min projektfil ser sådan ud:

program AApp;

//{$APPTYPE CONSOLE}

uses
  SysUtils,
  MainUnit in 'MainUnit.pas';

begin
  AApp := TAApp.Create;
end.
Avatar billede snowball Novice
06. august 2006 - 14:40 #1
Måske du kan bruge noget fra "formless application" eksemplet på http://delphi.about.com/od/windowsshellapi/l/aa102003a.htm ?
Avatar billede tolderlund Nybegynder
07. august 2006 - 14:17 #2
Hvorfor lave en service om til baggrundsproces? Det er en service i forvejen.
Nå, skidt pyt.
Du skal bare skrive din kode mellem begin og end.
Altså i stedet for
  AApp := TAApp.Create;
skriver du bare den kode vil have udført.
Så længe din kode udføres kører programmet.
Når den kommer til end. afslutter programmet.
Avatar billede hrc Mester
08. august 2006 - 22:20 #3
Du kan lave TAApp om tin en TThread-nedarving som du "Executer". I tråden er der en while-løkke der looper indtil der hejses et Terminate-flag et eller andet sted fra (hvis du lader den ligge i baggrunden så er det nok kun ved nedlukning at der skal programmeres noget, der reagerer på windows lukker). Derefter terminerer den. Du kan jo ydermere bare lade den rydde op i hukommelsen ... hvad er det den hedder FreeOnExit := true eller sådan noget
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester