Je viens d'essayer
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
begin
{$IFDEF CONSOLE}
beep;
{$ENDIF}
end.
et devrait entendre un beep
lors de l'exécution, mais pas. Le test suivant fonctionne cependant:
if IsConsole then
beep;
Pourquoi le test de compilation ne fonctionne-t-il pas? Autant que je peux comprendre de this doc, cela devrait fonctionner.
Oh, oui, c'est encore mieux. Mais pourquoi dans le monde n'est pas cette option par défaut lorsque vous sélectionnez Nouvelle application/console ?! –
@Andreas - Il est différent de '$ APPTYPE CONSOLE', vous pouvez également sélectionner l'option de l'éditeur de liens pour une application graphique et rediriger les E/S vers une fenêtre de console. –
Sertac, je ne comprends pas votre commentaire. Comment la directive du compilateur diffère-t-elle de l'option IDE, sauf que cette dernière définit apparemment CONSOLE automatiquement? L'un ou l'autre définit l'en-tête PE indiquant le sous-système à utiliser, n'est-ce pas? Andreas, y a-t-il quelque chose pour vous empêcher d'ajouter manuellement CONSOLE à la liste des symboles définis dans les options du compilateur? –