; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; 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!
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.
Best regards
StarBootics
The Stone Age did not end due to a shortage of stones !
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
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 !
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 !
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 !
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 :
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 !