New BLIde Update 0.9.58-c

BlitzMax Forums/BlitzMax Programming/New BLIde Update 0.9.58-c

ziggy(Posted 2008) [#1]
For newcomers, BLIde is an advanced IDE for windows, for the BlitzMax language. For more information see http://www.blide.org

This latest update fixes some stability issues on the editor window. This update is available to BLIde Free Edition users, and to BLIde Plus users. This update fixesan potential unhandled exception being thrown from within the editor window when the intelliprompt was requested for an item that didn't provide correct scope-based intelliprompt.

BLIde free edition users, get the update here: http://www.blide.org/index.php?section=getfree
BLIde plus users, get the update here: http://www.blide.org/plus

Updating is highly recommended.


Htbaa(Posted 2008) [#2]
Thanks!


ziggy(Posted 2008) [#3]
You're welcome!


MGE(Posted 2008) [#4]
Would be nice if when editing a managed project, the console window was open and you could still click on build. I edit alot of external files, then I want to run it again so I just click on build. But when the console window is open (after the last build) I can't click on build again. :)


ziggy(Posted 2008) [#5]
You can drag the console to the bottom part of the screen (take it out for the documents section). Making this it'll work as you say.


Htbaa(Posted 2008) [#6]
Control + Space works perfectly!


Gabriel(Posted 2008) [#7]
Don't know if anyone has mentioned this, but I often find that I cannot open the Find In Files window, and I have to click around in the window, changes tabs or something like that before it will open again. Haven't had it in previous versions, but I did recently upgrade from a version from many months ago, so I haven't used any of the recent releases.


Htbaa(Posted 2008) [#8]
How about control+shift+f ?


Gabriel(Posted 2008) [#9]
No, that doesn't work either. Usually, it starts working again when I click in a tab and ensure that nothing is highlighted in yellow ( by which I mean, the highlight you get when you click on something in "Find in Files". ) Sometimes, even that won't work and I have to change to another tab and repeat.


ziggy(Posted 2008) [#10]
@Gabriel: This is caused by a small bug in the BLIde GUI system. I think I've fixed it for the next release, but to be sure, please, next time you run into this issue, could you save the layout, and send it to me by email?
This is the instructions on how to save the layout:
1.- To save the layout, select 'window / Interface layout / Save current layout'.
2.- Then a name for the layout will be requested. Give the layout a name.
3.- After doing so, please go to "C:\Program Files\BLIde for BlitzMax\layouts\" and get the layout file you've just saved in order to send it back to me, so I can see what was exactly causing this issue.

You will need a BLIde Plus license to be able to save the layout. If you don't have one, let me know it so I can think on another way to get this information.


Gabriel(Posted 2008) [#11]
I have a Blide Plus license, so I'll save the layout as you suggest next time it happens and send it to you.


ziggy(Posted 2008) [#12]
@Gabriel: Great. By the way, did you take a look to the BLIde console, just in case any error information was there? some exceptions, when handled, are output to the BLIde console with a complete internal-blide call stack on BLIde Plus, so I can fix things faster.


ziggy(Posted 2008) [#13]
New Beta version available (0.9.59-A) to the BLIde Plus users. You can get it here: http://www.blide.org/plus

Changelog:

* Rewrite of some parts of the internal BLIde parser engine. Intelliprompt is now faster than ever before
* Included a complex ANSI-C parser, with folding, intelliprompt, and complex syntax analyzer
* Fixed some visualization glitches on the Editor window
* Implemented the first approach to the common / all selector on the autolist pop-up (ala Visual Basic.net).
* Organized menus. All the Modules-related stuff is now placed in a single place (much more clear)
* Fixed several small memory leaks
* Fixed an issue with the internal layout serialization that could cause BLIde remain on a unstable way
* Improved BLIde start-up time when updating the internal modules database
* Modules cache is now called Modules database (I think this is much more clear)
* Improved intelliprompt to handle properly the internal overridable methods of the base object class
* Fixed a serialization issue on the modules database that was preventing the documented field of a class to display properly the documentation associated
* Improved parsing speed and highlighting time for big files
* Fixed a small GDI+ issue that could leave BLIde in a unstable way if it was being run for several days
* New MenuBarItem called Modules in the BLIde SDK api.
* Synchronize modules is now considered 'deprecated'. It's still available for compatibility reasons, but will be removed soon, as it is no longer maintained or supported by the BlitzMax team.



At this moment, there's no beta available for BLIde Free Edition users.


AlexO(Posted 2008) [#14]
great! I'll give it a go!


ziggy(Posted 2008) [#15]
Just to inform that a new BLIde Plus version is ready to support the experimental threading module released to max betatesters. I hope the release will be ready tomorrow, but remember that, on the blitzmax side of things, all the threading features are being beta-tested!

EDIT: New BLIde Plus version 0.9.60-a released. This supports the thread building of the current experimental module introduced to the core BlitzMax engine. Notice this module is experimental, so you can expect bugs when creating threaded applications using BlitzMax!


GfK(Posted 2008) [#16]
Why won't it let me use "Include"? It says I must use the solution explorer for this, but, why? Does Blide Plus let me use Include?

The licence terms (term as in 'length') concern me a bit. The main reason for this is that there still seems to be a hell of a lot of spelling mistakes on the BLIde site, and in the product itself. (the box-shot for BLIde Publisher actually says 'Publiser', for instance).

Suppose I bought a six month licence:

1. Am I not allowed to release anything commercial that I typed in BLIde after this six months?

2. Is there a lower cost licence renewal fee? Or do I have to buy the whole thing again?


klepto2(Posted 2008) [#17]
As far as I understand the licenses are just limited in the access to updates.
If you buy the 6 month package, you get Blide Plus + all addons. But you only get updates the first 6 month.
Your existing copy will remain working but you will not profit from further developement of Blide Plus.

I hope this is correct, if not Ziggy will surely correct my post ;)


MGE(Posted 2008) [#18]
Blide is awesome, but I had no idea I wasn't buying a lifetime license with updates. If I have to $$ every 6 months, that sucks. Guess I need to read the license. hmm....

I purchased my license on Aug 1st. My license via email does not state anything about a limitation. Or am I missing something?


ziggy(Posted 2008) [#19]
to clarify:

1.-Old licenses have been updated to lifetime licenses. You can see the expiration date in your customer's page on the BLIde page, once you log in. BLIde Plus + Lifetime licenses have a expiration date of: 2132-09-10. If we're still alive on year 2132, I'll change the date...

2.-The new licensing terms apply only to updates. If you get BLIde Plus + six months of updates, you get a FULL copy of BLIde Plus you can use for ever, with full rights, no restrictions. Obviously you won't be able to update your version if your upgrades license has expired. Just like 90% of software sellers in the net. In other words:
As far as I understand the licenses are just limited in the access to updates.
If you buy the 6 month package, you get Blide Plus + all addons. But you only get updates the first 6 month.
Your existing copy will remain working but you will not profit from further developement of Blide Plus.
That's exactly the current situation. Old licenses haven't changed, so people who bought an old license will get updates forever, for free. This kind of license now is called 'BLIde Plus + lifetime updates' and it is still available.

3.- Gfk: Ovbiously you can use includes in your code!. If you're working on a solution, BLIde handles includes for you, so adding them in the code usually means you're including a file twice. Read the documentation about solutions and, if there's anything you don't understand or anything that is not well written (you know my English...) Let me know it and I'll be more than happy to help it. Solutions on BLIde work more or less like a visual studio solution where you just put all the files in the solution tree, and the 'glue' to compile them together is automatically written. So you no longer have to deal with includes, imports, strict, ad the like in your code, as this is handled.
If you feel better handling everything yourself, you may use plain unmanaged projects instead of solutions.

I've updated the text on the buy blide plus page on the blide website. Is it easier to understand now? http://www.blide.org/index.php?section=buynow

Feel free to correct my English.


GfK(Posted 2008) [#20]
Renewal discounts would be just the ticket.

Your English is pretty good, generally. Its just the occasional mis-spelling in BLIde that spoils it. When I used to work in QA at Gremlin, we had three grades for bugs; Class A, B and C - Class A being most serious.

Spelling mistakes were logged as Class A, along with BSOD and anything else that caused serious problems. That's how seriously they were taken.


GfK(Posted 2008) [#21]
Just bought BLIde plus. After the order it said I'll get a password for www.blide.org "in some days".

I assume you set up user accounts manually? Because I couldn't find a registration link on the site.


ziggy(Posted 2008) [#22]
@Gfk: Yes, accounts are created manually. Usually it just take some hours to get the account created, but it can take up to 2 working days.
I've changed the 'in some days' text on the shareit control panel. It was very confusing.
Thanks.


Philip7(Posted 2008) [#23]
I'm currently trying BLIde and i copied my working program to a new Solution in BLIde.

I get a strange error when i try to run:
Type Something

         Field Whatever: int

         Function Create()
                  ......
         End Function

         Function Selected:int(varInput:String)
                  ..........              
                  Whatever = True
                  ..........
         End Function


The above example shows whats going wrong. It keeps saying that 'Whatever' does not exist, yet when i type 'Self.' i get the popup with 'Whatever' in the selection list so it is recognized by the code analyzer. Again, in the standard IDE i have no problem at all.

I really want to switch to BLIde because i love the whole code collapse options and the integrated icon adding for my executable but this is a possible show stopper for me.

Also i had to change a lot of code because:
If x >= 0 and y >= 0; a = True

is not recognized as
If x >= 0 and y >= 0 then a = True

So from there all other if's are interpreted wrong, sure the code works but i gives me warnings with every IF. I just replaced all my '; ' with 'Then' but still it would have been nice if BLIde could recognise this.

Anyone else run into the same problem?
Again, i love BLIde, i hope i can solve this and keep using BLIde.


ziggy(Posted 2008) [#24]
@Philip7:
Type Something

         Field Whatever: int

         Function Create()
                  ......
         End Function

         Function Selected:int(varInput:String)
                  ..........              
                  Whatever = True
                  ..........
         End Function

You're accessing a field from within a function, and this is not possible on BlitzMax, no matter what IDE you're using.

To the IF issue, It is a parsing issue, I'll fix it for the next version, thanks for the report. Dropping the ; char should do the trick also, you don't need to write the THEN keyword, it is optional.


Philip7(Posted 2008) [#25]
Seriously, this works in the normal BlitzMax IDE.

When i create an instance of Something it gets the Whatever field als a variable. Self.Whatever does exist. The function is part of the Type.
x = objSomething.Selected("Hi there")
should be able to access the variable Whatever.
Why else would Fields even exist.

What am i not understanding?

I didn't type any new code, i opened my existing working game in BLIde and the Whatever variable is working exactly like it is supposed to do in the regular IDE.


ziggy(Posted 2008) [#26]
your confusing methods and functions. Functions are generic, not instance-dependant. From a function you can only access constants and globals defined on the type. From a method, you can access also fields, becouse they are instance-based.

You can even call a function from the type name, without creating any instance.
This will compile on any IDE
Type MyClass
    Global Name:String
    Function StartThis()
        Graphics(800,600)
        Print (Self.Name)
    end Function
End Type
MyClass.StartThis()


This will not compile on any IDE:
Type MyClass
    Field Name:String
    Function StartThis()
        Graphics(800,600)
        Print (Self.Name)  'Name is a field, so needs an instance, as every instance have its own NAME field.
    end Function
End Type
MyClass.StartThis()

This will compile again on any IDE:
Type MyClass
    Field Name:String
    Method StartThis()
        Graphics(800,600)
        Print (Self.Name)
    End Method
End Type
Local MyClassInstance:MyClass = New MyClass
MyClassInstance.StartThis()

That's the diference between Methods and function on Blitzmax, and it has nothing to do with the IDE your editing your code in.


tonyg(Posted 2008) [#27]
'Whatever' is being treated as a local int variable in Philip7's example (I think)
SuperStrict
Type Something

         Field Whatever: Int

         Function Create()
         End Function

         Function Selected:Int(varInput:String)
                  Whatever = True
         End Function
End Type

and is not reference the Something field.
Of course, I am going by the code posted which is NOT runnable.
It is SO useful to supply code that can compile and show the problem.
AND it is so useful to use Superstrict.


Philip7(Posted 2008) [#28]
I think i see why the code works in the normal IDE.

'Whatever' is automaticly declared as a local variable in the function
It is only used in the same function.
The field 'Whatever' is never actually used.

I didn't use superstrict in the previous IDE but i did set it for the BLIde solution so the unintentional local declaration does not happen now and thus it is searching for 'Whatever' that does not exist.

My bad, thanx for the help. I'm glad it turned out to be a programming error on my side.


ziggy(Posted 2008) [#29]
wow, another Strict issue. sometimes I wonder why BlitzMax was not built with Strict as a default. anyway, I'm happy to see it has been sorted out.


plash(Posted 2008) [#30]
BLIde does not show autocomplete or recognize a variable defined something like this:
Local map:brl.map.TMap = New(brl.map.TMap)


And when building a module (loaded in BLIde as a source code file) it hides the "Building..." window before it has finished building the module.

Also, BLIde should remember my last build options, and the quick build option is only changeable when you have a file loaded (from the toolbar, the menu works no matter what.)

EDIT: Not ENTIRELY certain on the module building issue, can anyone confirm it?


ziggy(Posted 2008) [#31]
@Plash: Variables defined with full namespaces are not yet 100Ç% supported by intellisense, but I'm improving this for next versions.
Also, the module building performs two builds (debug and release) the window will show and hide for every build (so twice per module).
And finally, BLIde does remember the quickbuild mode by 'solution' or 'project'. single bmx files (not part of a project) will have the build mode currently active on BLIde. I could add also a 'remember build mode' between BLIde restarts. Would that fix this?
I'll take a look to see why you can't change the build mdoe from the toolbar and fix any possible issue there.


plash(Posted 2008) [#32]
Also, the module building performs two builds (debug and release) the window will show and hide for every build (so twice per module).
I was referring to hitting F5 or hitting the compile button when you have a module source file opened (eg "/mod/brl.mod/blitz.mod/blitz.bmx".)

Are we talking about the same thing?
I just checked and I'm certain it is hiding the window right after the debug build (the first one.)


ziggy(Posted 2008) [#33]
@Plash: Ít shouldn't, I'll take a look tho


ziggy(Posted 2008) [#34]
Ok, found it, it is just a cosmetic issue and it has been fixed for the next update. Thanks Plash!


TaskMaster(Posted 2008) [#35]
The "Open Single BlitzMax File" needs to be a button on the standard toolbar.


Htbaa(Posted 2008) [#36]
It would also be nice if I could just drag any text file into the IDE. Also, why aren't .h files being recognized as compatible files when using the open file dialog?


ziggy(Posted 2008) [#37]
@TaskMaster: I'll add this for the next update. Thanks!

@Htbaa: Not sure when this will be possible, I need a little extra work on some IDE areas to allow this... Anyway, it's on the to do list


Htbaa(Posted 2008) [#38]
No hurries :-)