09. oktober 2009 - 07:21Der er
9 kommentarer og 2 løsninger
Åbne form der var åbne ved afslutning
Jeg har en applikation hvor den eneste autogenererede form er af type fsMDIForm. Der er en del andre forms som jeg selv styrer hvornår de creates. På disse har jeg en funktion der gemmer i registry hvor de er på skærmen, hvor store de er og hvilken state de er. Nu vil jeg så gerne prøve at opfylde et brugerønske om at de forms der er åbne når programmet lukkes ned åbnes igen når programmet starter næste gang.
Men der har brugeren nok sat mig på en lidt større opgave. Jeg kan i hvert fald ikke lige få hul på den.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Da alle mine forms ikke er genereret fra start kan jeg ikke lige finde en metode til at loope dem, så jeg har betemt mig for at sige til brugeren at 'det er ikke muligt med den for hånden værende teknik'
@hugopedersen Jeg er bare en novice i faget, så du må have mig undskyldt hvis dette er noget vrøvl! Kan du ikke når du lukker programmet ned, checke for alle dine kendte forms for om de er åbne eller ikke ( er pointeren NIL?)
Den ønskede identifikaion af den enkelte form kan gemmes i f. eks. en simpel tektsfil, som indlæses ved opstart af programmet og heréfter kan de ønskede forms åbnes!
Den er godt nok ikke så sofistikeret, men den virker! :-)
var i : integer; begin for i:=0 to Application.ComponentCount-1 do if Application.Components[i] is TForm then begin if (Application.Components[i] as TForm).Visible then Showmessage(Application.Components[i].Name); //gem oplysninger end; end;
@hugopedersen Jeg har godt nok ikke selv benyttet min løsning på mdiForms , men du skal vel have en åben mainform (hvor pointeren IKKE kan være nil?) for at have mdiChilds åbne? Disse har vel også en pointer, der er NIL når du du lukker dem?
Det er nok rigtig nok. Men hvis jeg looper alle forms får jeg også gemt oplysninger for mainform og det er jeg ikke interesseret i.
Jeg har gjort det at jeg har lavet en rutine der køres når de forms jeg ønsker at kunne genåbne creates (det gør jeg jo først når de skal bruges - ingen autocreate) og så gemmer at de er åbne.
Ved start af programmet løber jeg så alle de ønskede forme igennem og creater dem der er gemt oplysninger om. Ikke så dynamisk som jeg kunne ønske, men det virker.
kroning og a_nor smid lige et svar også. Så får i del i points for input.
Lidt for indsatsen - selv om resultatet blev helt anderledes :-)
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.