Hello Everyone,
Using the Clarion IDE, in my case C11, how does one create a fresh, clean, hand coded project?
Once created, what is the proper way to compile it?
I’ve never done it and I’m interested in knowing more about it.
Thank you.
Hello Everyone,
Using the Clarion IDE, in my case C11, how does one create a fresh, clean, hand coded project?
Once created, what is the proper way to compile it?
I’ve never done it and I’m interested in knowing more about it.
Thank you.
Hi @donridley ,
It’s very easy
Create a new solution using the Win32 EXE option
Then compile with this button:
Mark
Ah, that’s what I assumed but wanted to make sure.
Plus, I wanted this question documented for the future.
Thank you!!!
I have what some call a “Scratch Program” to paste in as a framework for a quick start.
Below is the “lite” one.
Note it begins by calling the MAIN() procedure. One thing I like to do is always write code in a Procedure; otherwise, all the variables are Global / Static and not quite the same as typical.
PROGRAM !Scratch Lite program by Carl Barnes - Version 9/1/2022 - Download https://git.io/JtPKE
INCLUDE('TplEqu.CLW')
INCLUDE('KeyCodes.CLW')
MAP
Main PROCEDURE()
DB PROCEDURE(STRING DebugMessage)
MODULE('api')
OutputDebugString(*CSTRING cMsg),PASCAL,DLL(1),RAW,NAME('OutputDebugStringA')
END
END
CODE
MAIN()
RETURN
!----------------------------
Main PROCEDURE
Window WINDOW('Scratch '),AT(,,400,200),CENTER,GRAY,IMM,SYSTEM,STATUS,FONT('Segoe UI',9),RESIZE
BUTTON('Button1'),AT(155,180),USE(?Button1)
BUTTON('Button2'),AT(206,180),USE(?Button2)
END
CODE
OPEN(WINDOW)
0{PROP:text}=clip(0{PROP:text}) &' - Library ' & system{PROP:LibVersion,2} &'.'& system{PROP:LibVersion,3}
ACCEPT
CASE EVENT()
OF EVENT:OpenWindow
OF EVENT:CloseWindow
OF EVENT:PreAlertKey
OF EVENT:AlertKey
OF EVENT:Timer
END
CASE ACCEPTED()
! OF ?Button1
! OF ?Button2
END
CASE FIELD()
! OF ?Button1
! OF ?Button2
END
END
CLOSE(WINDOW)
!===============================
DB PROCEDURE(STRING xMessage)
Prfx EQUATE('Scratch: ')
sz CSTRING(SIZE(Prfx)+SIZE(xMessage)+1),AUTO
CODE
sz = Prfx & CLIP(xMessage)
OutputDebugString( sz )
Below GIST link has a few more Scratch Programs. Like one with a LIST on the Window because sometimes you want to test some LIST code. Its a File:Queue loaded from a Directory() of the Windows Temp folder so it has data.
There’s also these scratch programs for writing Reports
There’s this one for generating a quick Scratch Program to write and test StringTheory code:
Great examples thank you carl…
The accept loop provides a low level control loop that higher wired GUI apps like Csharp dont seem to allow with out a higher degree of difficulty?
That control provided by the accept loop for automation control selection and macro development seems to be underappreciated…
In addition to what the others have posted, here is what you need to add to the project if you want to include ABC classes:
! Single EXE or Data DLL Exporting ABC Classes:
! _ABCDllMode_=>0;_ABCLinkMode_=>1
!
! For DLL dependent EXEs and DLLs :
! _ABCDllMode_=>1;_ABCLinkMode_=>0
I put something like this in the headers of my .inc class files with whatever needs to be set for those classes if I need to whip up a quick project for testing or whatever.