IonicWind Software

Aurora Compiler => Update Announcements => Topic started by: Ionic Wind Support Team on January 06, 2006, 04:30:27 PM

Title: Alpha2 update 1/06/06
Post by: Ionic Wind Support Team on January 06, 2006, 04:30:27 PM
The first of the Alpha 2 updates of the Aurora compiler is now ready for testing.  Redownload and reinstall from the link provided during purchasing.

Changes/Additions
-------------------------
- A derived class pointer bug was squashed.
- The scrollbar controls colors were wrong.  Fixed.
- A memory leak in CControl::SetColor was fixed.
- Printing from the IDE now displays the correct header and footer, instead of random garbage ;)
- Bookmarks were added to the IDE.  See the edit menu.
- Find in Files was added to the IDE.  See the tools menu.
- A RETURN statment is no longer required on functions that don't return a value.
- The CListView class was added to the GUI library. See 'gui.inc' for implemented methods.
- 'listview.src' added to the example programs.
- 'modplayer.zip' added to the example programs.
- The about box in the IDE shows (Alpha 2) so you know you've got the correct install.

Notes:
--------
Find in Files is primative, but it works.  Double click on a line in the 'Find In Files' pane to open up the file and highlight the line where the match was found.  Still needs a 'match whole word' option.

As usual I've made other bug fixes other than what is listed.  So if something didn't work before try it again.

As the Alpha2 version progresses we will be adding the ODBC and Dictionary libraries.  So no need to ask me where they are yet.


Title: Re: Alpha2 update 1/06/06
Post by: Zen on January 06, 2006, 04:31:36 PM
Yay. its finaly here. Alpha 2

Lewis
Title: Re: Alpha2 update 1/06/06
Post by: Parker on January 06, 2006, 04:43:29 PM
I just thought I'd point out the find regular expression feature in the IDE too, which seems to work for me.

Great job Paul!
Title: Re: Alpha2 update 1/06/06
Post by: Ionic Wind Support Team on January 06, 2006, 04:45:24 PM
Yes the find/find replace dialogs have a regular expression parser.
Title: Re: Alpha2 update 1/06/06
Post by: Zen on January 06, 2006, 04:49:50 PM
Well pointed out parker. Never knew about that untill now.

Lewis
Title: Re: Alpha2 update 1/06/06
Post by: Rock Ridge Farm (Larry) on January 06, 2006, 05:22:18 PM
Listview is a big step in the direction I need to go. Now if I can get 3 of them in the same
window......
I really like alpha2 so far.
Title: Re: Alpha2 update 1/06/06
Post by: Rock Ridge Farm (Larry) on January 06, 2006, 05:33:14 PM
In the IDE - when I click Resource Compiler Help - fails to find resource.htm.
Is this the correct place to report issues?
Title: Re: Alpha2 update 1/06/06
Post by: Zen on January 06, 2006, 05:52:36 PM
Attached is the Resource compiler documentation. It has not yet been added to the installation of Aurora. Maybe Paul will add it to the next update.

Lewis
Title: Re: Alpha2 update 1/06/06
Post by: Parker on January 06, 2006, 06:09:35 PM
Paul knows about most of these things I think, they just haven't been added yet. Late betas would be the time to report missing docs, cosmetics, etc.
Title: Re: Alpha2 update 1/06/06
Post by: Parker on January 06, 2006, 07:39:06 PM
Found one last pointer dereferencing bug:
global sub LoadFile(string *fn)
{
unsigned int hFile;
hFile = ::OpenFile(*fn, MODE_READ);
...
}


Adding the (string) between * and fn makes it work fine.

And on the topic of pointer dereferencing, does this->variable or this->function() work?
Title: Re: Alpha2 update 1/06/06
Post by: Ionic Wind Support Team on January 06, 2006, 09:16:15 PM
Quote
And on the topic of pointer dereferencing, does this->variable or this->function() work?

By the end of Alpha 2 it will.
Title: Re: Alpha2 update 1/06/06
Post by: Ionic Wind Support Team on January 06, 2006, 10:40:46 PM
Don't know how we ever lived without the Find In Files tool.  Great for searching windows header files ;)
Title: Re: Alpha2 update 1/06/06
Post by: Parker on January 06, 2006, 11:32:23 PM
Now that you mention it, it is going to be so much easier to find what I need now. It's a great feeling when you've written something that's useful ;)
Title: Re: Alpha2 update 1/06/06
Post by: Parker on January 07, 2006, 12:10:08 AM
Found another one of those pointer bugs:
dstring ch[2];
ch[0] = *text[pos];

text is a string* and by making it *(string)text[pos] the code compiles fine.

And this one:
tkn->*strval = mid$(*(string)text, start+1, pos-start);
text is a string*, tkn is a Token struct, tkn->strval is a string*.
Title: Re: Alpha2 update 1/06/06
Post by: Ionic Wind Support Team on January 07, 2006, 12:16:08 AM
Part of the problem it is having is a STRING type is already a reference.  That is the variable is already a pointer.


global sub LoadFile(string fn)
{
unsigned int hFile;
hFile = ::OpenFile(fn, MODE_READ);
...
}

Would be the proper way.

I will look into the other code to see what 'makes sense'.
Title: Re: Alpha2 update 1/06/06
Post by: Parker on January 07, 2006, 12:20:47 AM
Alright, thanks. I've got one more:
tkn->strval = new(dstring, (pos-start)+1);
tkn->*(string)strval = mid$(*(string)text, start+1, pos-start);

It compiles fine using the statement tkn->*strval, but it doesn't seem to copy over right. I think the NEW statement above is causing the problem by setting it to a dstring pointer.

Sorry I didn't mention these before the alpha 2.
Title: Re: Alpha2 update 1/06/06
Post by: Ionic Wind Support Team on January 07, 2006, 07:30:45 AM
Use BYTE.  dstring doesn't actually have a size unless used as a define.  It is not a valid keyword anywhere else (like ISTRING).

tkn->strval = new(byte, (pos-start)+1);

The dereferncing I am still looking into.  Only happens witht the string type.
Title: Re: Alpha2 update 1/06/06
Post by: Parker on January 07, 2006, 11:39:54 AM
I did that, but it sets it to a byte pointer, and as a result only one character I'm trying to copy gets copied. So I still have to add the (string) part in there. Shouldn't string pointers keep their type when you NEW them? And really any type that already has a type assigned to it?
Title: Re: Alpha2 update 1/06/06
Post by: Ionic Wind Support Team on January 07, 2006, 11:49:07 AM
Yes...except in structs at the moment ;)   Working on a fix.
Title: Re: Alpha2 update 1/06/06
Post by: Parker on January 07, 2006, 12:03:19 PM
Both of these compile, but only the bottom one works correctly. Probably another wrong type in dereferencing.

while ((chr$(*text[pos]) = " ") | (chr$(*text[pos]) = "\t"))

while ((chr$(*(string)text[pos]) = " ") | (chr$(*(string)text[pos]) = "\t"))
Title: Re: Alpha2 update 1/06/06
Post by: Ionic Wind Support Team on January 07, 2006, 12:06:22 PM
How is your 'tkn' struct defined?

Title: Re: Alpha2 update 1/06/06
Post by: Ionic Wind Support Team on January 07, 2006, 12:16:54 PM
Never mind.  Found it.