Page 3 of 4
Posted: Wed May 07, 2008 10:53 pm
by mk-soft
Update v0371
Bugfix Includes:
- Now check Includefile to constant "#PB_Compiler_Home" and with added "+" Strings
Please test it
GT

Posted: Wed May 07, 2008 11:08 pm
by SofT MANiAC
Thanks for update but it doesn't work...
Try to download
http://purebasic.fr/english/viewtopic.p ... sc&start=0
Next ->
Code: Select all
IncludePath #PB_Compiler_Home + "path_to_DirectX\"
XIncludeFile "d3dx9.pbi"
Class MyClass Extends BaseClass
EndClass
[COMPILER] Line 3: Syntax error!
Posted: Wed May 07, 2008 11:47 pm
by SofT MANiAC
and another ..
no parameters for constructor?

Posted: Wed May 07, 2008 11:47 pm
by mk-soft
I now know the probleme, IncludePath is not checked.
In the works.
Posted: Wed May 07, 2008 11:50 pm
by SofT MANiAC
mk-soft wrote:In the works.
good luck

Posted: Thu May 08, 2008 12:21 am
by mk-soft
Update v0.372
Bugfix: Includefile and parse "IncludePath" added
Posted: Thu May 08, 2008 1:15 am
by SofT MANiAC
good support!
But another moment:
topfile.oop:
Code: Select all
...
Interface IMyClass Extends IUnknown
...
Translate( Translation.D3DXVECTOR2)
EndInterface
...
dx.pbi:
Code: Select all
...
structure D3DXVECTOR2
...
endstructure
main.pb:
Code: Select all
IncludeFile "dx.pbi"
class myclass extends baseclass
Translation.D3DXVECTOR2
endclass
Of course...
Line XX: Structure not found: D3DXVECTOR2
(topfile.oop)
coz we can not use it before it was declared... ooops...
Posted: Thu May 08, 2008 12:20 pm
by SofT MANiAC
I think it's total deadlock for this concept..
Resident-files save the world?

Posted: Thu May 08, 2008 4:00 pm
by mk-soft
I´m work at time to solve this probleme
Posted: Fri May 09, 2008 12:18 pm
by mk-soft
There I try the scourecode do not change give it the problem the methods (interfaces) at the correct place to merge. At present the interfaces are merged into topfile. This is however with structures in the methods to be used the problem.
My solution would be " a macro; Module (Classname) " to define which the interface to the correct places placed.
That´s right?
Posted: Fri May 09, 2008 12:47 pm
by SofT MANiAC
need to try
Posted: Fri May 09, 2008 7:48 pm
by mk-soft
Update v0.38
Is not the best solution, but you can now use structures
Code: Select all
; Organization for OOP with structures
; All needed structures as first
Structure udtStruct
value1.l
value2.l
EndStructure
; All classes and methods
Class MyClass Extends BaseClass
; Attributes
val1.s
val2.udtStruct
; etc
EndClass
Method MyClass_Function(*this.MyClass, *mystruc.udtStruct)
With *this
EndWith
EndMethod
; Create Object
*myObject.iMyClass = NewObject(MyClass)
*myObject\Function(MyData.udtStruct)
; Release Object
*myObject\Release()
P.S
We can declare procedures but not interfaces.
I hope fred implimented this
Posted: Mon May 12, 2008 5:15 pm
by mk-soft
Update v0.39
Now included interfaces at right position without change any included scourecode. We can now splitted any classes to differend files.
Sorry, one macro has changed. Examples
- Class MyClass Extends BaseClass -> Class(MyClass) ; keyword BaseClass not longer used
- Class SubClass Extends MyClass -> Class(SubClass, MyClass)
Chaos test code
Code: Select all
; Organization for OOP with structures
; Structures for MyClass ******************************************************
Structure udtStructMyClass
value1.l
value2.l
EndStructure
Class(MyClass)
; Attributes
val1.s
values.udtStructMyClass
; etc
EndClass
Method MyClass_Function(*this.MyClass, *mystruct.udtStructMyClass)
With *this
\values\value1 = *mystruct\value1
EndWith
EndMethod
; Structures for SubClass *****************************************************
Structure udtStructSubClass
value1.l
value2.l
EndStructure
Class(SubClass)
; Attributes
val1.s
values.udtStructSubClass
; etc
EndClass
Method SubClass_Function(*this.MyClass, *mystruct.udtStructSubClass)
With *this
\values\value1 = *mystruct\value1
EndWith
EndMethod
; test ************************************************************************
; Create Object
*myObject.iMyClass = NewObject(MyClass)
*myObject2.iSubClass = NewObject(SubClass)
*myObject\Function(MyData.udtStructMyClass)
; Release Object
*myObject\Release()
*myObject2\Release()
P.S. Update Linux Version v0.39

Posted: Sun May 25, 2008 11:53 am
by mk-soft
Update v0.40
- Performance of Release Object
- Change internal name of baseclass
GT

Posted: Sat Sep 27, 2008 1:42 pm
by mk-soft
Update v0.41
- fixed DeleteObject for x64 compilations
I can´t tested because havn´t x64 os
GT
