Rechercher : dans
Par :

[Delphi] Programme Delphi 3 (Win95) => XP

Dernière réponse le 26 jui 2007 à 22:27:39 Raggajohnjohn, le 26 jui 2007 à 20:03:08 
 Signaler ce message aux modérateurs

Bonsoir.

J'ai téléchargé un programme (Open Source), ayant été programmé en 1999 pour fonctionner sous Windows 95.
Note : Ce programme a été écrit avec Borland Delphi 3.

Malgré l'option "Compatibilité windows 95/98" dans propriété de l'executable, ce programme ne fonctionne pas correctement.

1) L'instal fonctionne.
2) Le lancement fonctionne mais ...

Au lancement du programme, la "feuille" (Form) principale se lance, puis une seconde qui contient les informations d'utilisations (Licence GPL).

Cette seconde fenetre se ferme en cliquant sur le bouton fermer, ou au bout de quelques secondes, et lorsqu'elle se ferme, les elements de la fenetre principale se chargent, je peux les survoler, le texte explicatif s'affiche (texte explicatif du/ des boutons), mais dés que je clic ou que ce soit sur la fenêtre, cela me réaffiche l'écran de licence.

Note : Aprés que la fenetre de licence se soit fermé, la fenetre principale n'a pas le focus elle é "terne", comme une fenetre en arriere plan.

Ainsi il est impossible de se servir du logiciel.

Etant analyste programmeur, j'ai installé Delphi 7 PE, et j'ai recompilé, aucun changement.
J'ai donc jeté un oeil dans le code (Pas si simple), et j'ai vu que lorsque je désactive l'appel à la fenetre de licence (Dans le fichier de base qui contient les "Program XXX [...] Uses XXX,XXX [...] XXX.CreateForm"), cela fonctionne à merveille.

En regardant un peu plus le code, j'ai compris que l'événement OnActivate (De la MainForm), appelle une procédue FormActivate, qui elle même appelle, l'affichage de la fenetre de licence (ainsi que d'autres trucs).

Question1 : Est ce que le OnActivate est égal au OnFocus en VB?

Donc ce qui se passe c'est que, ma "mainForm" appelle une sous form, à laquelle elle donne le focus, cette fenetre fait ce qu'elle a a faire et se ferme, et lorsque je clic dans ma fenetre principale, je lui redonne le focus (Donc je redéclenche le OnActivate), donc je ré-appel la procédure FormActivate, qui réouvre la fenetre de licence, c'est comme cela que je le comprend.

Le probléme c'est que ce logiciel fonctionne a merveille sous Windows 95.

Ainsi est ce que quelqu'un aurait une idée de comment résoudre ce probléme?

Note : Je n'ai jamais fais de Delphi (Juste un peu de pascal en premiére année de fac), Je suppose que l'idée serait d'appeller l'ouverture de la fenetre de licence par un autre événement que le "OnActivate", mais si vous pouviez me décrire la démarche ce serait sympa.

Merci d'avance et bonne soirée.

Configuration: Windows Vista
Internet Explorer 7.0

Meilleures réponses pour « [Delphi] Programme Delphi 3 (Win95) => XP » dans :
[Windows] Booster Windows XP VoirComment booster Windows XP? Nous allons voir ici plusieurs astuces afin d'arriver à ce résultat. Accélérer le démarrage de Windows avec Bootvis Accélérer Windows XP ZN Soft Optimizer XP Accélérer les accès disque Petites astuces Désactiver...
Microsoft Windows 95 - Installation VoirInstallation de Windows Pour (ré)installer Windows il est vivement conseillé de détruire la version de Windows déjà installée. Cependant, avant de détruire le répertoire Windows, il faut s'assurer de garder de côté les petits fichiers qui "vont...

1

 Raggajohnjohn, le 26 jui 2007 à 22:27:39

Rebonsoir !

Bon j'ai trouvé une solution.

En fait je n'associe plus la procédure Activate a l'evenement OnActivate, et je crée un bouton sur la feuill principale qui permet de lancer le truc.
Voila.

Bonne soirée

Répondre à Raggajohnjohn