Bonjour,
J'ai un problème mineur que j'ai pour l'instant "réglé" de 2 manières, à mon avis, non satisfaisantes.
La première et seule fenêtre du programme contient un Tlabel et une TProgessbar. Dans l'évènement OnShow, je crée un tidFTP (indy 10) qui charge immédiatement un fichier. Je rencontre un problème d'affichage lors de l'exécution du programme : le fond de la Form est transparent (je vois le bureau de Windows à travers ). J'ai placé une image (alClient)... pas mieux...
J'ai 2 solutions : placer le chargement dans un Thread parallèle... Inutile dans ce cas car la fenêtre ne fait que charger le fichier... Le Thread ne servirait qu'à gérer l'affichage...
ou cela
... sachant que l'évènement Paint est ouvert de multiples fois lors d'un simple affichage de la fenêtre (d'où le bDejaLance).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 procedure TForm1.FormPaint(Sender: TObject); begin if bDejaLance = False then begin bDejaLance := True; Application.ProcessMessages; FTPrun(); end; end;
Dans les 2 cas, je trouve les procédures très lourdes pour un simple problème de synchronisation des "évènements"... Y a-t-il plus simple ?
Cordialement. Gilles
Partager