03. juni 2004 - 13:37Der er
9 kommentarer og 1 løsning
Hide form giver fejl.
Jeg ville gemme formen, osse fra taskbaren, og fandt masser af hjlæp på google. Men jeg kan ikke lave hide'en i min formActivate, hvor jeg tester på forskelligt og vil gemme formen hvis der ikke er en speciel tilstand. Delphi giver fejlen; cannot change visible in onShow/onHide bla. bla. Er en formActivate da en onShow på bunden? Jeg vil altså have at programmet ved opstart tester og evt gemmer sig. Og en ticker synes at være en dirty løsning. --nop
ved ikke lige om du har brugt den rigtig så, er det din mainform?
ellers prøv med win api: ShowWindowAsync(hwndOwner, SW_HIDE);
ved bare du ikke kan hide din form under activate som den også siger. Du har ikke mulighed for at flytte din kode ellers til inden formen bliver loaded?
dkn>>jeg kan ikke se at du har to tilstande 1: hiden, 2: shown. Men din ide med at flytte koden kan jeg måske bruge. Jeg vil lige prøve med en timer, det er vis let nok.
Det her virker faktisk, for jeg får flyttet hide'en ud fra formActivate. Timeren er sat op til; interval=1, enabled=false, fra start af.
i form activate: ... if not isSOrunning then begin timer1.Enabled:=true; exit; end; ... procedure TfrmMain.Timer1Timer(Sender: TObject); begin timer1.Enabled:=false; hide; end;
dkn>> nej det behøves ikke at være svært d:) Og din løsning virker osse dog skal jeg alligevel flytte noget kode ud efter for jeg tester om en bestemt service kører aller først, og giver en msg hvis ikke og terminerer, det har jeg gjort som det første i formActivate for så kan jeg jo kalde close! Men enten skal det så flyttes (close virker jo ikke i formCreate) eller så skal jeg bruge application.terminate (vist nok) Tak for hjælpen.
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.