Results 1 to 6 of 6

Thread: Openen form erg traag

  1. #1

    Openen form erg traag

    Hallo hallo,

    In mijn applicatie had ik, om het een en ander te kunnen testen, een tijdelijke oplossing waarbij ik 60 frames op 60 pages van een pagecontrol heb geplaatst @designtime. Nu opent dit form storend traag, en ik ben er vrij zeker van dat dit niet veroorzaakt wordt door datasets die geopend worden. Nu ben ik op zoek naar een permanente oplossing en ik vroeg me af of er praktische limieten zijn aan bijvoorbeeld het aantal frames, pages e.d. die je op een form kunt plaatsen?

    Bij voorbaat dank!

  2. #2
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,747
    Maar 60 frames zijn toch ook 60 forms, die sequentieel worden opgestart? Ik denk toch een ontwerp probleem. Worden er nog andere zaken uitgevoerd tijdens het laden van de frame. 60 pages: waarom zoveel? Gebruikers kunnen dat niet eens tegelijk gebruiken.
    Delphi is great. Lazarus is more powerfull

  3. #3
    Wat ik meestal doe is elk form apart openen en initialiseren.
    Dus als ik click om naar een bepaald form te openen gebruik ik meestal:


    Delphi Code:
    1. Application.CreateForm(TForm2, Form2);
    2. Form2.Visible:= True;
    3. Form1.Visible:= False;

    En als ik dan weer terug ga naar Form1:

    Delphi Code:
    1. Form1.Visible:= True;
    2. Form2.Release;

    Dat is misschien niet het meest logische om te doen, maar voor mij werkt dit helemaal perfect en lekker snel. Zo krijg je dus dat alleen de Forms worden "ingeladen" en gebruikt als je het ook echt nodig hebt. Dit kun je ook met frames doen. Dus als een bepaald frame gebruikt wordt deze ook dan pas "inladen".
    Last edited by RuudPenris; 08-May-18 at 10:59. Reason: toevoeging

  4. #4
    Quote Originally Posted by luigi View Post
    .. en ik ben er vrij zeker van dat dit niet veroorzaakt wordt door datasets die geopend worden.
    Databases kunnen heel snel een bottleneck worden, dus ik zou dit zeker definitief uitsluiten.

    Wellicht kan je op tactische plaatsen meten hoe lang iets duurt? System.Diagnostics.TStopwatch is een aardig begin om makkelijk te meten hoe lang iets duurt.
    1+1=b

  5. #5
    Quote Originally Posted by luigi View Post
    In mijn applicatie had ik, om het een en ander te kunnen testen, een tijdelijke oplossing waarbij ik 60 frames op 60 pages van een pagecontrol heb geplaatst @designtime. Nu opent dit form storend traag, en ik ben er vrij zeker van dat dit niet veroorzaakt wordt door datasets die geopend worden.
    Ik kan hier geen vertraging in zien:
    Delphi Code:
    1. procedure TForm1.FormCreate(Sender: TObject);
    2. var
    3.   I: Integer;
    4.   Page: TPageControl;
    5.   Tab: TTabSheet;
    6.   Frame: TFrame;
    7. begin
    8.   Page := TPageControl.Create(Self);
    9.   Page.Parent := Self;
    10.   Page.Align := alClient;
    11.   for I := 1 to 60 do
    12.   begin
    13.     Tab := TTabSheet.Create(Page);
    14.     Tab.PageControl := Page;
    15.     Tab.Caption := I.ToString;
    16.     Frame := TFrame.Create(Tab);
    17.     Frame.Parent := Tab;
    18.     Frame.Align := alClient;
    19.   end;
    20. end;

    Dus je vertraging wordt vrijwel zeker door iets anders veroorzaakt. Bijvoorbeeld een component op een frame. Maar je geeft dus te weinig informatie om hierover iets te zeggen.

  6. #6
    Maar 60 frames zijn toch ook 60 forms, die sequentieel worden opgestart? Ik denk toch een ontwerp probleem. Worden er nog andere zaken uitgevoerd tijdens het laden van de frame. 60 pages: waarom zoveel? Gebruikers kunnen dat niet eens tegelijk gebruiken.
    Ik heb het zojuist iets meer geïsoleerd getest en het lijkt bij grote aantallen echt langzamer te worden. Ik moet er wel bij vermelden dat het hier om de AdvOfficePager gaat van TMS software en niet de standaard pagecontrol.

    Ik kan hier geen vertraging in zien:
    Het verschil is dat ik de frames + tabs designtime op het form heb gezet.

    Voor de ontwerpvraag open ik even een nieuw topic.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •