Author Topic: Checking some demos?  (Read 15960 times)

0 Members and 1 Guest are viewing this topic.

Arnold

  • Guest
Re: Checking some demos?
« Reply #30 on: March 16, 2015, 12:33:56 AM »
Hi Charles,

these are my last few issues concerning OxygenBasic demos for the moment because I do not find more.

I could run these examples:

\examples\Linkage\FuncLinks.o2bas line 19:
  declare function f1(string* s) at @f#string

FuncCasting.o2bas line 8:
declare fn() as sys at @fc   (is this sufficient?)

examples\Math\InProgress\Quaternion.o2bas line 9:
method normalise()

I did not touch projectsB\FreeImage (the style of declaring the functions looks much different), OxygenBasic\tools\t.o2bas (draft?), examples\Constructs\TokenLangWIP.o2bas (did this ever work?), projectsA\ManualGenerator\ManualCreate2WIP.o2bas (work in progress), projectsB\ConsoleOOP\old\TestConsoleC02.o2bas (include statements), projectsB\RosettaCode\inProgress\Sets.o2bas (in Progress), projectsB\C_codeWIP\C switch.o2bas (seems to be gxo2/co2 problem, but of minor interest).

Hopefully I did not bother you too much with my questions. My goal was to be able to compile every demo with OxygenBasic and to see the differences between Version A40 and the earlier versions. I noticed that there is A39,38,37,36. I do not think that they are fully compatible with A40. This would be like using FreeBasic 0.18 with programs written for FreeBasic 1.01.

I expect that there are some examples which will not work correctly or crash due to a slightly different memory access (pointered variables?), but to find these demos they must be run and and the code checked. Until now I have managed about a third of the ca 760 examples. For me there is still a lot to learn about OxygenBasic.

Roland



JRS

  • Guest
Re: Checking some demos?
« Reply #31 on: March 16, 2015, 01:15:41 PM »
Quote
My goal was to be able to compile every demo with OxygenBasic and to see the differences between Version A40 and the earlier versions. I noticed that there is A39,38,37,36. I do not think that they are fully compatible with A40.

Are you using the download links from the main site or clicking on the wizard at the top right corner of the forum for Charles's latest build?


Arnold

  • Guest
Re: Checking some demos?
« Reply #32 on: March 16, 2015, 03:02:36 PM »
I always use the link below the wizard because this is very handy and I get the complete build. But of course I also look what is on the main web site. In fact I start from the main site and then change to the forum.

Roland

Charles Pegge

  • Guest
Re: Checking some demos?
« Reply #33 on: March 17, 2015, 03:34:01 AM »
Hi Roland,

I've removed most of the WIPs (Work in Progress), which I will retain locally, until they are completed, recycled or deleted. Less frustrating for users, I hope.

I detected a problem with functions returning char*. That is also rectified.

The others should be okay.

Thanks :)

Arnold

  • Guest
Re: Checking some demos?
« Reply #34 on: March 17, 2015, 10:03:01 AM »
Hi Charles,

using your latest build with version A40 07:25 17/03/2015 everything works like expected. I tried with Win 32bit and Win 64bit.

Unfortunately I am a bit conservative so I cannot show my enthusiasm like I should. But I am really excited.

As said now that I can compile almost everything at once it should be easier to find the examples which will crash by calling them directly without the editor. I mean something like this:

examples\Constructs\UnprototypedRect.o2bas:
Code: OxygenBasic
  1. type rectangle long left,top,right,bottom
  2.  
  3. function f(...)
  4. indexbase 1
  5. rectangle r at param[1]
  6. print r.left "   " r.top "   " r.right "   " r.bottom
  7. end function
  8.  
  9. rectangle t={10,20,30,40}
  10.  
  11. f t   'auto pass byref
  12. f @t  'explicit pass byref
  13.  

This demo compiles without problem, butl crashes due to f t. If I comment out f t the example will run as expected. f @t makes much more sense to me, I assume this is what you mean by 'pointered variables'? Or have you not yet decided what to do with the first construct?

Roland

Charles Pegge

  • Guest
Re: Checking some demos?
« Reply #35 on: March 17, 2015, 01:27:52 PM »
Hi Roland,

I've fixed the problem. This is quite an extreme example, but the compiler is expected to infer that a compound variable (UDT) should always be passed by reference.

Oxygen DLL Update (200k)
http://www.oxygenbasic.org/o2zips/Oxygen.zip



Arnold

  • Guest
Re: Checking some demos?
« Reply #36 on: March 18, 2015, 01:27:54 AM »
Hi Charles,

everything works ok with my system. And I realize more and more that you want OxygenBasic to be as tolerant as possible.

At the moment I try to run the compiled .exe files to see if there is a failure when starting them. As you have done so much during the last two months to improve the stable behaviour of OxygenBasic I doubt that I will find many programs if any at all. But I think it shoúld be proved. Maybe I can use a batch file if it is possible to get an errorlevel because doing this manually is still a bit time-consuming.

Roland

Charles Pegge

  • Guest
Re: Checking some demos?
« Reply #37 on: March 19, 2015, 02:37:42 AM »
Hi Roland,

We will have to devise an automated system, at least for the smaller programs. Ultimately, a more formal series of unit tests.

Arnold

  • Guest
Re: Checking some demos?
« Reply #38 on: March 19, 2015, 05:12:13 AM »
Hi Charles,

this was a lot of pressing keystrokes and mouse clicks in spite of using a batch file. But I think I have seen all of your demos (at least for some moments). There are a lot of really nice demos in the directories.  Using Windows Vista 32bit on a notebook with AMD processor I found some compiled files which did not work:

Oxygenbasic Version: A40 21:04 17/03/2015.
 
c:\oxygenbasic\examples\DataProcessing
---------------------------
setofstrings.exe

c:\oxygenbasic\examples\OOP
---------------------------
pseudoretvals.exe

c:\oxygenbasic\examples\System
---------------------------
detect64bit.exe
 
c:\oxygenbasic\examples\OOP\ClassLibrary
---------------------------
classlibrarycompo.exe 
classlibtest.exe

c:\oxygenbasic\examples\OOP\Features
---------------------------
localclass.exe

c:\oxygenbasic\projectsA\WaveSynth
---------------------------
makewavefile1.exe

c:\oxygenbasic\projectsC\ScriptBasic\EmbedSb
---------------------------
sbwin.exe


Using my editor I can compile the .o2bas files but I cannot run them. Maybe this list (I think it is complete) can help you to decide if something in the code must be changed?

Roland

Arnold

  • Guest
Re: Checking some demos?
« Reply #39 on: March 19, 2015, 05:39:51 AM »
Hi Charles,

regarding unit tests, I think Mike has also suggested this. It would be the next logical step and it would help you to discover anomalies earlier.

Roland

Arnold

  • Guest
Re: Checking some demos?
« Reply #40 on: March 20, 2015, 08:54:10 AM »
Hi Charles,

I just downloaded your latest build and compiled and ran the examples (32bit currently). As I can use a batch file this only takes a few minutes. 99.2 % of the demos run ok. But only you can decide if in the remaining examples the code must be adapted or if something should be changed in OxygenBasic.

There were 2 new messages when compiling the demos which have not been before:

c:\oxygenbasic\examples\Constructs
---------------------------
ReturnColor.o2bas

Linker found unidentified names:
colorsave:   level 0
colorset:   level 0
colorload:   level 0
colorpop:   level 0
colorset:   level 0
colorpush:   level 0

ReturnShortVec.o2bas

Linker found unidentified names:
shortvecsave:   level 0
shortvecset:   level 0
shortvecload:   level 0
shortvecpop:   level 0
shortvecset:   level 0
shortvecpush:   level 0

I must admit I do not know where these error messages come from. They make no sense.

I can compile these .o2bas files with my editor but I cannot run them (GPF):

c:\oxygenbasic\examples\Constructs
---------------------------
unprototypedrect.o2bas       (if commenting line 12 then it works)

c:\oxygenbasic\examples\DataProcessing
---------------------------
setofstrings.o2bas

c:\oxygenbasic\projectsC\ScriptBasic\EmbedSb
---------------------------
sbwin.exe


I also found the demo examples\math\Mandeltextb.exe which I have to kill with the Taskmanager. Probably there is a missing freememory statement?


Roland

Charles Pegge

  • Guest
Re: Checking some demos?
« Reply #41 on: March 20, 2015, 01:35:28 PM »

Hi Roland,

Thanks for all that testing.

I have pulled about half of those examples and fixed the others.

I'm reintroducing operators. They may be implemented for any type, such as complex numbers and vectors. It caused those linker errors for two of the examples (now obsolete)

Arnold

  • Guest
Re: Checking some demos? (finished)
« Reply #42 on: March 21, 2015, 05:21:30 AM »
Hi Charles,

it was not my intention to be a tester of OxygenBasic. But by restarting my projects I realized my total ignorance. I had used wrong statements and strategies and I searched in the demos for patterns which I could use. As some of the examples did not work I thought it could not harm to ask you. Often I had to overcome my fear that I only would ask silly questions. But I experienced much of the versatility of OxygenBasic and how flexible it can treat the flow of a program and it's statements.

Maybe you should store a snapshot of your latest A40 version in Sourceforge and create a subfolder for the elder versions. I really believe that the actual version A40 is much more powerful and more reliable than the previous versions. I could not resist and compared with A39. There are only about 430 examples and I find more error messages than in A40 with about 800 examples. The reason in A40 for these very few messages are either logical (Unique.o2bas) or are caused by the code of the example, not by OxygenBasic. There are 3 crashes when starting the demos of A39. With A40 there is only one (sbwin.o2bas). In Internet I have seen links which point to OxygenBasic A39 and even A35 in Sourceforge.net. It would be a pity if people would not see the power of version A40. The only weak point in the moment maybe is that there is no find / replace functionality in OxIde.

I know that you have removed some examples and that you will add them some day again. And you will add new features too as you are capable to do this and you know OxygenBasic by heart. If you don't mind and nobody else does I will notify you if there are major deviations.

Roland

Charles Pegge

  • Guest
Re: Checking some demos?
« Reply #43 on: March 21, 2015, 07:19:11 AM »
Hi Roland,

Your testing has been a great service for us.

I have updated Sourceforge with the full A40 :)

SbWin.o2bas works now, but of course, relies on Scriptbasic.

Mike Lobanovsky

  • Guest
Re: Checking some demos?
« Reply #44 on: March 22, 2015, 02:07:43 AM »
Hi Charles,

Can we consider A40 at Sourceforge as a kind of OxygenBasic Stable that the users can rely on in their own dev work for some period in the fereseeable future regardless of your usual almost-nightly W.I.P. builds?

I'm certain that at least some of the users have been waiting for this to happen for quite some time. :)