On Sun, 1 Nov 2020 10:20:11 +0100 (CET), Michael Van Canneyt via lazarus <lazarus@lists.lazarus-ide.org> wrote:
>> QUESTION: >> Is there a way in code to check if Forms is used? >> So it can be used instead of {$IFDEF NOGUI} > >normally > >{$IF DECLARED(Forms)} >or >{$IF DECLARED(TForm)} > >should do the trick for you. A quick test: It seems like there is a problem with this... I added this to the end of a random function: {$IF DECLARED(TForm)} Application.ProcessMessages; {$ENDIF} Even though the project does not use Forms (Search/Find in Files in all project files does not find it) the code within the block is marked enabled and a quick compile succeeds. No file in the project declares Forms as a used unit. Same thing happens if I check for Forms in the code above... If I try to use the right-click/FindDeclarationOf on Processmessages pops up an error: class_SSRemoteServer.pas(530,5) Error: identifier not found: Application However, the app builds... So maybe this is a problem with the Lazarus code editor not being able to parse the {$IF DECLARED(TForm/Forms)} item? To really check this I need to create a test app and run it in the debugger, I guess.. In a command line program it should not generate code, right? -- Bo Berglund Developer in Sweden -- _______________________________________________ lazarus mailing list lazarus@lists.lazarus-ide.org https://lists.lazarus-ide.org/listinfo/lazarus