07. juli 2004 - 04:04Der er
2 kommentarer og 1 løsning
Arbejde i baggrunden
Hvordan får jeg et program til at arbejde i baggrunden f.eks. når jeg downloader en fil. Jeg skulle meget gerne kunne undgå at formen fryser fast i den tid filen bliver hentet.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Som arne v skriver så kan du bruge en tråd (file/new/other/threadobject) til at lave et subprogram der kører parallelt med dit primære. Der er nogle småting man skal lære (såsom brugen af Synchronize), men når det er på plads, er det ikke svært med tråde.
Jeg tænker på om du måske mere var interesseret i denne:
Application.ProcessMessages;
Den bruges i løkker for at sikre at programmet kan gentegne billedet. Normalt sørger man for at den ikke kaldes i hvert loop for det sløver operationen voldsomt ned. Derfor laver man noget i retningen:
for i := 0 to gazillion - 1 do begin if i mod 100 = 0 then Application.ProcessMessages;
// Tung operation her end;
ProcessMessages håndterer de beskedder der omhandler dit program, mens denne:
Application.HandleMessage;
klarer også omfatter andre programmer. En slags "nice" funktion der tillader andre programmer at arbejde.
På denne måde bliver programmet opdateret for hvert 100 gennemløb.
Irriterende at indtastningsvinduet er så smalt. Kan selvfølgelig lave copy/paste, men det gør jeg ikke - måske er det for at begrænse størrelsen på indslagene ... ahem.
Synes godt om
Ny brugerNybegynder
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.