Pagina1 van 1
Forum

Welkom bij de Tweaking4All gemeenschapsforums!
Voor je gaat deelnemen, bekijk de Forum Regels!

Specifieke onderwerpen: Start het onderwerp met de naam van het programma of systeem.
Bijvoorbeeld “MacOS X – Jouw vraag“, of bijvoorbeeld “MS Word – Jouw Tip of Truc“.

Merk op: Omschakelen naar een andere taal zal niet werken als je een post aan het lezen bent aangezien er waarschijnlijk geen vertaling beschikbaar is.



Deel:
Meldingen
Alles wissen

[Opgelost] Lazarus - Hoe start ik mijn programma zonder het main form te zien?

1 Berichten
1 Gebruikers
0 Reactions
1,352 Bekeken
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2869
Topic starter  

Ik ben een applicatie in elkaar aan het draaien die in de SysTray (Windows) of menu-balk (MacOSX) gaat zitten. Dit programma dient op te starten zodra de computer start, maar ik wilde eindgebruiker niet lastig vallen met een venster dat men moet sluiten.

De vraag dus: hoe start ik mijn applicatie nu zonder dat het hoofd venster meteen opent bij het opstarten?

Gelukkig vond ik goed verborgen in het Lazarus Forum het antwoord.

Door het toevoegen van een enkele regel in de project file (*.lpr bestand) kunnen we voorkomen dat het programma venster zich opent bij het op starten.

Open de project file (het .lpr bestand) - dit kan direct of via het "Project" menu, waar je "Project Inspector" kiest en dan onder file het ".lpr" bestand dubbel klikt.

In de project code voegen we de regel "Application.ShowMainForm:=FALSE" toe, net voor de regel met "Application.CreateForm()".

Ik heb het getest onder MacOS X en Windows en het werkt uitstekend - de applicatie start zonder dat het hoofd venster zichtbaar wordt.

Een voorbeeld:

program VoorbeeldProgje;
{$mode objfpc}{$H+}
uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Interfaces, // this includes the LCL widgetset
  Forms, mainunit
  { you can add units after this };
{$R *.res}
begin
  RequireDerivedFormResource := True;
  Application.Initialize;
  Application.ShowMainForm := FALSE; // <- deze regel voorkomt dat het hoofdvenster zich opent
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.          

   
BeantwoordenCiteren
Deel: