zwyx
Messages postés146Date d'inscriptionjeudi 22 novembre 2007StatutMembreDernière intervention21 mars 2016
-
5 déc. 2007 à 14:05
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 2022
-
5 déc. 2007 à 15:44
Bonjour tout le monde,
Dans mon programme, je souhaite simplement afficher une TForm décrite dans une autre unité quand on est en mode de déboggage. Pour indiquer si l'on est ou non en déboggage, il suffit alors de définir DebugMode avec la directive {$Define ...}. L'exécution génère une violation d'eccès à l'adresse 00000000.
J'ai par ailleurs essayé la commande "DebugForm.ShowModal;" à d'autres endroit du programme, et elle marche bien car c'est la même qui est utilisée pour afficher la fenêtre "A propos" définit dans AboutBox.
Le problème viendrait donc apparemment de "{$DEFINE DebugMode}", mais je pense qu'il est bien placé.
{------------ extrait du code ----------}
unit CommandUnit;
zwyx
Messages postés146Date d'inscriptionjeudi 22 novembre 2007StatutMembreDernière intervention21 mars 2016 5 déc. 2007 à 14:26
J'ai essayé comme tu me le conseille de créer la DebugForm, mais comme je suis au début de mon projet, je n'ai que décrit mes unités, fiches et classes, je n'ai donc pas de constructeur. Le "create" ne compile donc pas.
Par ailleurs quand j'essaye le "DebugForm.ShowModal;" ailleurs que dans ce "initialization", la TForm s'affiche correctement. C'est pour ça que je crois qu'elle est bien construite. Par exemple:
procedure TCommandForm.HelpAbout1Execute(Sender: TObject);
begin
AboutBox.ShowModal;
DebugForm.ShowModal;
end;