I'm glad to see PowerBASIC came up with the idea of an 'Introductory' entry level compiler for a lesser price than PB 9. Might allow more students to get into PB.
I've always found it interesting that old software has such little value. I remember once getting Borland's C 3.1 and associated C++ Windows compiler package as an add on on a CD in the back of a "Teach Yourself C In 21 Days" book. That was in the mid nineties and only two years previous that compiler package was selling for many hundreds of dollars. And here it was practically being given away. I actually still have programs I'm using that I wrote with that setup. It just seems that everybody wants the very, very, newest of everything, is willing to pay premium prices for it, when in point of fact the newest does very little more than the older version. That doesn't apply to the PB8 >> PB9 situation of course, but I'm glad to see this introductory offer come from PowerBASIC.
As a matter of comparison, i just ordered my upgrade from WinDev14 to WinDev15.
And ten-thousands of developpers world-wide are doing this each year.
;D
...
Congratulations Patrice, seems that you will get your new toy just in time for Christmas 8)
The international English version needs a bit longer. We need some patience until (mid?) 2010...
I can think of very few things that have a shorter shelf life than software.
Jim
Currently dowloading the WD15 "upgrade": 1.21 Gb at 117 Kb/second
...
The entry level pricing is a good idea in that it allows people who often don't have a lot of money to spend to get access at a reliable compiler that is still a very good tool. I still keep PB 7 & 8 going as I have a few older apps that I don't feel like porting to the current versions but PBwin 8 could do most things well so I hope its popular for entry level programmers.
I really wouldn't spent money on outdated compilers.
I'dalways choose PB 9 (or higher).
It's so easy to make Multithreaded Programming using an Object-Pointer.
You can even exchange data between thread just by setting Object variables.
No need to get GLOBAL.
And finally you can just tell the Object to wait until the Thread has ended.
Thats maybe one of the the best new features "
Living Objects" .
Quote
MACRO PropGet(PropName,PropType)=PROPERTY GET PropName() AS PropType:PROPERTY=PropName:END PROPERTY
MACRO PropSet(PropName,PropType)=PROPERTY SET PropName(BYVAL param AS PropType):PropName=param:END PROPERTY
MACRO PropGS(PropN,PropT)=PropGet(PropN,PropT):PropSet(PropN,PropT)
MACRO INST = INSTANCE
MACRO OpenClass(P1,P2,P3) = P1 = CLASS P3:POKE DWORD, VARPTR(P1),P2: P1.AddRef
CLASS ThreadP
INST S01 AS STRING
INST S02 AS STRING
INST S03 AS STRING
INST T04 AS LONG
INST TH AS LONG
'----------------------------------------------
CLASS METHOD CREATE()
reset S01,S02,S03
END METHOD
'----------------------------------------------
CLASS METHOD DESTROY()
Register R01 as LONG
' Do cleanup
R01=TH
WaitForSingleObject(R01,%INFINITE)
Thread Close TH to R01
END METHOD
'----------------------------------------------
' Class Methods
'----------------------------------------------
INTERFACE ThreadP_Interface :INHERIT IUNKNOWN
PropGS(S01,STRING)
PropGS(S02,STRING)
PropGS(S03,STRING)
PropGS(TH,LONG)
PropGS(T04,LONG)
END INTERFACE
END CLASS
THREAD FUNCTION Threadbutton_int(BYVAL T05 AS LONG) AS LONG
register R01 as LONG,R02 as LONG
local E02 as ThreadP_Interface
Local S01,S02,S03 as string
OpenClass (E02,T05,"ThreadP")
S01=E02.S01:S02=E02.S02:S03=E02.S03
' Somebody from outside can stop the Thread just setting E02.T04 to 1
While (E02.T04=0)
...
WEND
...
It's not available in PB 8.