Jump to content
FHannes

SCAR Divi 4.00.00 Pre-Alpha

Recommended Posts

Oh Okay. Am i wasting my time trying to develop a RS07 include using all these units? Thats my main worry. I hate feeling as if i just waster my time. . . which i am sure many feel. But overall i like SCAR 4, it is very fast and i would almost compare its speed with Delphi its self. It seems to compile fast, execute code at an extremely fast speed compared to PS and seems to have as much functionality as Delphi!

 

You're not. You'll probably be able to use your include with the new system with fairly minimal changes.

Link to comment
Share on other sites

Hey guys, sorry for the lack of updates, but my time has been very limited and this update took a while to complete, because I had to make a lot of changes to the internal infrastructure of the IDE. I do hope it makes up for the waiting ;) This update introduces initial support for project based scripting. This basically means you can create script projects, which consist out of one or more source files and a project file. Down the road, projects will do a lot more than just that of course. Tis is not support for "includes" yet, but this will already allow you guys to make scripts out of multiple files. I've tried to implement as much essential functionality into the IDE as possible. Of course, it's far from finished, still needs fixes, tweaks, additions... But it's a start. Do keep in mind that at this time, the project system has not yet been integrated into the live debugger, so it will show errors on projects with multiple files, but when you run it, it will work fine. This should also be the first thing to be worked out for the next build of course.

 

I would recommend removing the toolbars config file from "AppData\Local\SCAR Divi 4", before running this.

 

Some details...

 

* Projects are not required to use scar, you can make single file scripts, just like before. I wanted to make sure to keep in that functionality.

* When a project is loaded and you press run, it will always run the project, instead of the open tab.

* You can right-click units in a project and set them as default, to make them the entry point for the script.

* Projects without a unit selected as main unit, will not run. (The main unit does not have to be called Main, but this is the default naming.)

* If a file is open in SCAR and linked to a project, ti will display in the manager in black. When the tab for the file is active, it's also bolded.

* If a file is not open in SCAR or linked to the project, it will display in gray. (Not linked means that the project manager didn't open it)

* You can jump to the tab for a unit by double clicking it in the project manager. If there's no linked tab, but the file is open in SCAR, it will link to that tab. If the file is not open, it will open it.

* If a file from the project, no longer exists on the drive and isn't open in a linked tab, it will display in red with a warning sign and refuse to open the file when you click it.

* The main unit for the project is displayed by name behind the project name in the project manager.

* At the moment, you can only save a project by pressing Save All or closing the project somehow.

 

And screenshots:

scar20130723-3.png

 

You can just download it like before from SCAR Divi Development

scar20130723-1.png

scar20130723-2.png

Edited by Freddy
Link to comment
Share on other sites

Great looking stuff, Freddy.

 

Hopefully in the future we can customize the looks of it, by moving around the panels and things (like 3.35+), as the default setup feels a little bit too "full" for me, especially because I use laptop only (small screen area). :(

Of course more important things first, and this is something that obviously isn't on top of the list for now.

 

But glad to see progress happening around SCAR Divi (for both version, 4 and 3!).

Link to comment
Share on other sites

I think your the best when it comes to GUI's. Amazing job Freddy! I like the Blue color, makes it seem more like a departure from SCAR 3.

 

As for Bixby, maybe he's talking about the compiler messages or whatever. But the script should run just fine, even if the messages are all weird or things get underlined, etc..

Link to comment
Share on other sites

In the latest build, the live compiler supports the projects, so it should no longer show any errors when you work with multiple units. :) I'm currently working on refining the project stuff in the IDE, as well as planning the support for "includes", which will be called, either modules or packages. I haven't quite decided yet.

Link to comment
Share on other sites

> New script project

> Script --> Compile

 

3 error messages. Can't download to make sure I have the latest. Getting the unexpected end of archive with 7-zip. Tried on 2 different machines with 2 different browsers and 2 different versions of 7-zip.

 

Upload looks fine, but I'll make a new archive and upload it again.

 

As for the errors... You're trying to compile a SCAR Divi 3.x script, which won't work. You no longer need begin...end., you could replace it with begin...end; if you want. Also just drop the program line.

Link to comment
Share on other sites

Cool, i wanted to see how DWS is. Maybe SCAR 4 was always powered by it. I'll check this out though.

 

EDIT: It opens really fast!

 

Well, this latest iteration of SCAR 4 has always been powered by it. Of course the API isn't documented yet, and prone to changes, at least certainly until a beta release is available. But I feel I'm making rapid progress in developing this. I'm currently putting a lot of effort into developing the IDE and projects though. One of the reasons it opens faster than SCAR 3 is probably that the executable is no longer packaged by UPX. If it was, it would have to decompress the executable before it could be executed.

Link to comment
Share on other sites

Interesting. Yeah it does take a lot of effort to make your own projects system, and all that. I've been having trouble getting identifier completion, and script info tools to work. I got it working, but have to integrate the coloring with the paint method, and check all the functions that are called. Haven't figured out how to make a little list of the constants/procedures/variables, etc. in the script yet. Probably have to check a bunch of properties, and etc like done in the paint method.

 

Just little wormies everywhere. It was fun taking from Lazarus's source though, and building it with it. An extreme project, but very enlightening.

Too much school work for me to work on it right now.

 

Really kill yourself, when you have to hackzor.

Link to comment
Share on other sites

I've uploaded a new build. The main change in this build is structuring of the output. Previous builds just threw everything into the debug box. All of the separate outputs are still shown in there, but they are now separated and identified by a unique icon for each type. At the moment there's IDE output, Debug(Ln) output and Write(Ln) output. An additional type/icon might be added for runtime errors eventually.

 

begin
 Write('Herp');     
 WriteLn('Derp'); 
 Write('Herp');     
 Write('Derp');
 Debug('Derp');
 Write('Herp');
 Write('Derp');
 DebugLn('Derp');  
 DebugLn('Derp');
 Write('Derp');
end;

 

Results in:

herpderp.png

Link to comment
Share on other sites

I've uploaded a new build. The main change in this build is structuring of the output. Previous builds just threw everything into the debug box. All of the separate outputs are still shown in there, but they are now separated and identified by a unique icon for each type. At the moment there's IDE output, Debug(Ln) output and Write(Ln) output. An additional type/icon might be added for runtime errors eventually.

 

begin
 Write('Herp');     
 WriteLn('Derp'); 
 Write('Herp');     
 Write('Derp');
 Debug('Derp');
 Write('Herp');
 Write('Derp');
 DebugLn('Derp');  
 DebugLn('Derp');
 Write('Derp');
end;

 

Results in:

[ATTACH=CONFIG]965[/ATTACH]

That's an awesome addition, Freddy!

Just like LordJashin said, great idea. :P

Link to comment
Share on other sites

I've uploaded a new copy. Previous versions supported $INCLUDE macros as defined by DWS, which are converted into strings. These are listed here: DWScript RC1 now available - DelphiTools This copy of SCAR 4 introduces support for including files with the $INCLUDE directive. Unlike my own preprocessor in SCAR 3, the one in DWS requires you to pass the filenames as a string. Something like {$I '.\Test.scar'} for example. I've had to make some modifications to DWS before I could implement support for this the way I wanted it to work. But it's fully implemented now. The paths you provide can either be absolute or relative to the file you're using it in (regardless of it being an include file or a unit), as you're used to from SCAR 3.

Edited by Freddy
Link to comment
Share on other sites

A new build is available. This build adds reporting of runtime errors through the IDE. Runtime errors previously weren't reported. A better solution will be introduced later on with goto line functionality and such, but for now, this will have to suffice.

 

rterror.png

Edited by Freddy
Link to comment
Share on other sites

A new build is available. This build adds reporting of runtime errors through the IDE. Runtime errors previously weren't reported. A better solution will be introduced later on with goto line functionality and such, but for now, this will have to suffice.

 

[ATTACH=CONFIG]966[/ATTACH]

Yay for progress!

 

Loving the custom icons for errors - output tab is getting pretty smooth looking man. :P

Link to comment
Share on other sites

A new build is available with some more work on the project manager done, DWS updates and some bugfixes.

 

EDIT: Another build with changes to the API. I've also added all Variant type related functions as members of the Variant type itself.

 

variantmembers.png

Edited by Freddy
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




×
  • Create New...