Dev-Object

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
User avatar
StarBootics
Addict
Addict
Posts: 984
Joined: Sun Jul 07, 2013 11:35 am
Location: Canada

Re: Dev-Object

Post by StarBootics »

Hello everyone,

The version 1.5.0 is available for download. What's new in this version ?
  • Math operator AddScaled() added
  • Math operator Lerp() Added
  • Bug correction related to extra space character between Array, List and Map keywords and the member name. (Thanks to Mr.L)
  • Help files updated
See first post for download link.

Best regards
StarBootics
The Stone Age did not end due to a shortage of stones !
Mr.L
Enthusiast
Enthusiast
Posts: 104
Joined: Sun Oct 09, 2011 7:39 am

Re: Dev-Object

Post by Mr.L »

Sorry it's me again...
the generated code is still not correct and the help-tab is empty now.

have a look:

Code: Select all

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; AUTOMATICALLY GENERATED CODE, DO NOT MODIFY
; UNLESS YOU REALLY, REALLY, REALLY MEAN IT !!
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; Code generated by : Dev-Object - V1.5.0
; Project name : the project name here
; File name : File name here
; File Version : 0.0.0
; Programmation : In progress
; Programmed by : Your name
; AKA : 
; E-mail : 
; Creation Date : 16-05-2021
; Last update : 16-05-2021
; Coded for PureBasic : V5.72
; Platform : Windows, Linux, MacOS X
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

DeclareModule Recentfiles
  
  Interface Recentfiles
    
    GetHistoricSize.i()
    SetHistoricSize(*P_HistoricSize.a
List)
    ReadPrefs(P_GroupName.s)
    WritePrefs(P_GroupName.s)
    Free()
    
  EndInterface
  
  ; Declare Free(*This)
  Declare.i New(*P_HistoricSize.a
List = #Null)
  
EndDeclareModule

Module Recentfiles
  
  ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  ; <<<<< Structure declaration <<<<<

  Structure Private_Members
    
    VirtualTable.i
    HistoricSize.a
List FileNames.s()
    
  EndStructure
  
  ; <<<<<<<<<<<<<<<<<<<<<<<<<<<
  ; <<<<< The observators <<<<<

  Procedure.i GetHistoricSize(*This.Private_Members)
    
    ProcedureReturn *This\HistoricSize
  EndProcedure
  
  ; <<<<<<<<<<<<<<<<<<<<<<<<
  ; <<<<< The mutators <<<<<

  Procedure SetHistoricSize(*This.Private_Members, *P_HistoricSize.a
List)
    
    If *This\HistoricSize <> #Null
      *This\HistoricSize\Free()
    EndIf
    
    *This\HistoricSize = *P_HistoricSize
    
  EndProcedure
  
  ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  ; <<<<< Read preferences group <<<<<

  Procedure ReadPrefs(*This.Private_Members, P_GroupName.s)
    
    PreferenceGroup(P_GroupName)
    
    ; NOT SUPPORTED YET
    
  EndProcedure
  
  ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  ; <<<<< Write preferences group <<<<<

  Procedure WritePrefs(*This.Private_Members, P_GroupName.s)
    
    PreferenceGroup(P_GroupName)
    
    ; NOT SUPPORTED YET
    
  EndProcedure
  
  ; <<<<<<<<<<<<<<<<<<<<<<<<<<
  ; <<<<< The Destructor <<<<<

  Procedure Free(*This.Private_Members)
    
    If *This\HistoricSize <> #Null
      *This\HistoricSize\Free()
    EndIf
    
    FreeStructure(*This)
    
  EndProcedure
  
  ; <<<<<<<<<<<<<<<<<<<<<<<<<<<
  ; <<<<< The Constructor <<<<<

  Procedure.i New(*P_HistoricSize.a
List = #Null)
    
    *This.Private_Members = AllocateStructure(Private_Members)
    *This\VirtualTable = ?START_METHODS
    
    If *P_HistoricSize <> #Null
      *This\HistoricSize = *P_HistoricSize
    Else
      *This\HistoricSize = a
List::New()
    EndIf
    
    ProcedureReturn *This
  EndProcedure
  
  ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  ; <<<<< The Virtual Table Entries <<<<<

  DataSection
    START_METHODS:
    Data.i @GetHistoricSize()
    Data.i @SetHistoricSize()
    Data.i @ReadPrefs()
    Data.i @WritePrefs()
    Data.i @Free()
    END_METHODS:
  EndDataSection
  
EndModule

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< Code generated in : 00.001 seconds (135000.00 lines/second) <<<<<
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

; <<<<<<<<<<<<<<<<<<<<<<<
; <<<<< END OF FILE <<<<<
; <<<<<<<<<<<<<<<<<<<<<<<
*update*
the messed up code seems to occur only, if I open a file that has been saved with an older version.
When I start with a new file everything look good! :wink:
User avatar
StarBootics
Addict
Addict
Posts: 984
Joined: Sun Jul 07, 2013 11:35 am
Location: Canada

Re: Dev-Object

Post by StarBootics »

Mr.L wrote: Sun May 16, 2021 7:26 pm Sorry it's me again...
the generated code is still not correct and the help-tab is empty now.
Can you open the faulty *.devo file with note pad and post the content here for further analysis.

And message to everyone please download the source of version 1.5.0 again I have re-introduced a fixed problem about the help not showing up on Windows operating system. Sorry for the inconvenience. :oops:

Best regards
StarBootics
The Stone Age did not end due to a shortage of stones !
Mr.L
Enthusiast
Enthusiast
Posts: 104
Joined: Sun Oct 09, 2011 7:39 am

Re: Dev-Object

Post by Mr.L »

as soon as I open a *.devo file (doesn't matter if created with old or new version) the generated source code is faulty.

this is the .devo file:

Code: Select all

[BasicMethods]
Getters = 1
Setters = 1
Update = 0
Reset = 0
Clear = 0
Access = 0
[MathsMethods]
Equal = 0
Plus = 0
Minus = 0
Add = 0
AddScaled = 0
Subtract = 0
Product = 0
Divide = 0
AddScalar = 0
SubtractScalar = 0
ProductByScalar = 0
DivideByScalar = 0
Lerp = 0
[MemoryMethods]
Copy = 0
Compare = 0
Swapping = 0
[DynamicArrayMethods]
Sort = 0
LinearSearch = 0
BinarySearch = 0
Randomize = 0
ReDimension = 0
Size = 0
[LinkedListMethods]
Sort = 0
LinearSearch = 1
BinarySearch = 0
Randomize = 0
Add = 1
AddEx = 1
Insert = 1
InsertEx = 1
Select = 1
First = 1
Last = 1
Previous = 1
Next = 1
Delete = 1
Reset = 1
Clear = 1
Index = 1
Size = 1
[MapMethods]
Add = 0
AddEx = 0
Clear = 0
Size = 0
Reset = 0
Delete = 0
Find = 0
Next = 0
Key = 0
[StaticArrayMethods]
QuickSortAscendant = 0
QuickSortDescendant = 0
LinearSearch = 0
BinarySearch = 0
FixedLenghtQueue = 0
[BinaryFile]
ReadWrite = 0
CreateFile = 0
OpenFile = 0
ReadFile = 0
AddFileFormatID = 0
[EncodedCryptedFile]
ReadWrite = 0
CreateFile = 0
OpenFile = 0
ReadFile = 0
AddFileFormatID = 0
CustomFileLibToUse = 
[PrefsFile]
ReadWriteGroup = 1
CreateOpenFile = 0
[XMLFile]
NodeWithChild = 0
NodeWithAttribute = 0
AddCollectAttribute = 0
CreateLoadFile = 0
CatchFile = 0
[Class]
Name = RecentFiles
Members_Max = 2
Members_0 = HistoricSize.a
Members_1 = List FileNames.s()
User avatar
StarBootics
Addict
Addict
Posts: 984
Joined: Sun Jul 07, 2013 11:35 am
Location: Canada

Re: Dev-Object

Post by StarBootics »

Mr.L wrote: Sun May 16, 2021 10:21 pm as soon as I open a *.devo file (doesn't matter if created with old or new version) the generated source code is faulty.
It is so weird :shock:

To all Window user : For the time being start from scratch every time because Mr.L find a serious bug that happen only on Windows. I'm investigating right now.

See you soon.

Best regards
StarBootics
The Stone Age did not end due to a shortage of stones !
User avatar
StarBootics
Addict
Addict
Posts: 984
Joined: Sun Jul 07, 2013 11:35 am
Location: Canada

Re: Dev-Object

Post by StarBootics »

Hello everyone,

The version 1.5.1 is available for download with the faulty code generation after *.devo file loading bug reported by Mr.L corrected.

Apparently the ScintillaGadget() work with #LF$ regardless of the platform. I was using #CRLF$ for Windows, #LF$ for linux and #CR$ for MacOS. Now I'm using #LF$ for all platforms, it work on Windows and Linux and remain unknown on MacOS. Since I don't have a Mac it's impossible for me to test on that platform.

See first post for download link.

And sorry again for the inconvenience .

Best regards
StarBootics
The Stone Age did not end due to a shortage of stones !
User avatar
StarBootics
Addict
Addict
Posts: 984
Joined: Sun Jul 07, 2013 11:35 am
Location: Canada

Re: Dev-Object

Post by StarBootics »

Hello everyone,

I have discovered an hour ago or so that the code generated for the Binary Search in linked list, dynamic array and static array didn't work when the list or the array contained 2 elements or less. This problem has been corrected and you can download the version 1.5.2, see the first post for the link.

And sorry for the inconvenience.

Best regards
StarBootics
The Stone Age did not end due to a shortage of stones !
User avatar
StarBootics
Addict
Addict
Posts: 984
Joined: Sun Jul 07, 2013 11:35 am
Location: Canada

Re: Dev-Object

Post by StarBootics »

Hello everyone,

I have replaced some code in the Mathematics operators when the member type is another object. The impacted operators are :
  • Equal
  • Plus
  • Minus
  • Add
  • Subtract
  • Product
  • Divide
I also corrected some tiny bugs I have introduced in previous updates. See the first post for download link.

Let me know in the comments if you want to have an option to insert automatically a license text you can choose in the generated code.

Best regards
StarBootics
The Stone Age did not end due to a shortage of stones !
User avatar
StarBootics
Addict
Addict
Posts: 984
Joined: Sun Jul 07, 2013 11:35 am
Location: Canada

Re: Dev-Object

Post by StarBootics »

Hello everyone,

The version 1.5.4 is available for download, see the first post for download link.

What's new in the version ?

- Replacement in the Class object of List Members.Hook::Hook() by Members.Chain::Chain
The Chain object is a specialized linked list specifically design to hold different elements. It's replacement has a huge impact on the code generator it's self. In terms of performance so far I didn't see any differences.
- Bugs correction when some members are defined like this :

Code: Select all

Array ArrayEdges.Edges::Edges(25)
List ListEdges.Edges::Edges()
Map MapEdges.Edges::Edges()
The generated code was completely screwed up.
Best regards
StarBootics
The Stone Age did not end due to a shortage of stones !
User avatar
StarBootics
Addict
Addict
Posts: 984
Joined: Sun Jul 07, 2013 11:35 am
Location: Canada

Re: Dev-Object

Post by StarBootics »

Hello everyone,

The version 1.5.5 is available for download, see the first post for download link.

What's new in the version ?
  • Suppression of useless instructions in the presence of Linked Lists and Maps of standard types in the Reset() and Clear() methods.
  • Copy() method Optimization for the non-dynamic objects
Best regards
StarBootics
The Stone Age did not end due to a shortage of stones !
User avatar
StarBootics
Addict
Addict
Posts: 984
Joined: Sun Jul 07, 2013 11:35 am
Location: Canada

Re: Dev-Object

Post by StarBootics »

Hello everyone,

The version 1.5.6 is available for download, see the first post for download link.

By the way this version will probably the last one I'm publishing. The download link will be maintain for a very long time.

Best regards
StarBootics
The Stone Age did not end due to a shortage of stones !
User avatar
StarBootics
Addict
Addict
Posts: 984
Joined: Sun Jul 07, 2013 11:35 am
Location: Canada

Re: Dev-Object

Post by StarBootics »

Hello everyone,

The version 1.5.7 is available for download, see the first post for download link.

Nothing special just a maintenance release.

Best regards
StarBootics
The Stone Age did not end due to a shortage of stones !
User avatar
StarBootics
Addict
Addict
Posts: 984
Joined: Sun Jul 07, 2013 11:35 am
Location: Canada

Re: Dev-Object

Post by StarBootics »

Hello everyone,

The version 1.5.8 is available for download, see the first post for download link.

Bug correction : Big crash occurred when changing color for syntax highlighting.

Best regards
StarBootics
The Stone Age did not end due to a shortage of stones !
User avatar
StarBootics
Addict
Addict
Posts: 984
Joined: Sun Jul 07, 2013 11:35 am
Location: Canada

Re: Dev-Object

Post by StarBootics »

Hello everyone,

The version 1.5.9 is available for download, see the first post for download link.

What's new in the version ?
  • Moved the AdvancedDateFormatting object from DevObject to CodeGenerator and change needed to make it operational.
  • Addition in CodeGenerator of a pointer to the Language object and change needed to make it operational.
  • Added missing GoScintillaSetup() about GarbageCollector editor.
Best regards
StarBootics
The Stone Age did not end due to a shortage of stones !
User avatar
StarBootics
Addict
Addict
Posts: 984
Joined: Sun Jul 07, 2013 11:35 am
Location: Canada

Re: Dev-Object

Post by StarBootics »

Hello everyone,

I'm sorry to report that I have discovered a serious problem within the "Chain" object used in the "Class" object. Please download the version 1.5.9 again. See the first post for download link.

Once again sorry for the inconvenience.

Best regards
StarBootics
The Stone Age did not end due to a shortage of stones !
Post Reply