Page 3 of 7

Re: Dev-Object

Posted: Sun May 16, 2021 1:38 pm
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

Re: Dev-Object

Posted: Sun May 16, 2021 7:26 pm
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:

Re: Dev-Object

Posted: Sun May 16, 2021 9:08 pm
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

Re: Dev-Object

Posted: Sun May 16, 2021 10:21 pm
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()

Re: Dev-Object

Posted: Mon May 17, 2021 1:25 am
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

Re: Dev-Object

Posted: Mon May 17, 2021 2:29 am
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

Re: Dev-Object

Posted: Wed May 19, 2021 7:58 pm
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

Re: Dev-Object

Posted: Sun May 30, 2021 10:07 am
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

Re: Dev-Object

Posted: Sun Jun 13, 2021 4:09 am
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

Re: Dev-Object

Posted: Sun Jun 20, 2021 11:52 am
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

Re: Dev-Object

Posted: Sat Jun 26, 2021 8:44 am
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

Re: Dev-Object

Posted: Wed Sep 01, 2021 6:18 pm
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

Re: Dev-Object

Posted: Sun Sep 12, 2021 1:16 pm
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

Re: Dev-Object

Posted: Mon Sep 20, 2021 9:00 pm
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

Re: Dev-Object

Posted: Thu Sep 23, 2021 5:18 pm
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