diff --git a/README.md b/README.md index 4984b38..c8a2225 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# FoxBin2Prg v1.19.66 +# FoxBin2Prg v1.19.67 **Binary/Text Converting program for Microsoft Visual FoxPro** ## Lutz Scheffler diff --git a/ThorUpdater/FoxBin2Prg.zip b/ThorUpdater/FoxBin2Prg.zip index 4e32350..f35d177 100644 Binary files a/ThorUpdater/FoxBin2Prg.zip and b/ThorUpdater/FoxBin2Prg.zip differ diff --git a/ThorUpdater/FoxBin2PrgVersion.txt b/ThorUpdater/FoxBin2PrgVersion.txt index 50c2acc..92255b8 100644 --- a/ThorUpdater/FoxBin2PrgVersion.txt +++ b/ThorUpdater/FoxBin2PrgVersion.txt @@ -10,8 +10,8 @@ local; lcappName = "FoxBin2Prg" *Set following two numbers on version -ldDate = date(2021,08,30) -lcmajorVersion = "1.19.66" +ldDate = date(2021,12,07) +lcmajorVersion = "1.19.67" *lnJulian = val(sys(11, m.ldDate)) - val(sys(11, {^2000-01-01})) *lcJulian = padl(transform(lnJulian), 4, '0') @@ -39,6 +39,9 @@ Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg +++++++++++++++++++++++ Change History +++++++++++++++++++++++ +2021-12-07 v1.19.67 +- Bug Fix: Double classes in VCX (LScheffler) + 2021-08-30 v1.19.66 - Bug Fix: Incorrect version showing for v1.19.65 (siara-cc) diff --git a/ThorUpdater/Project.txt b/ThorUpdater/Project.txt index 9456150..307afb5 100644 --- a/ThorUpdater/Project.txt +++ b/ThorUpdater/Project.txt @@ -1,5 +1,5 @@ appName = FoxBin2Prg appID = FoxBin2Prg -majorVersion = 1.19.66 +majorVersion = 1.19.67 excludeFiles = *.bak,*.bat,*.fxp,*.tbk,*.tmp,*.dat,*.log,*.cvp,README.md,.gitignore,*.zip*,*.7z*,*- copia.*,*.private.*,test_*.*,xx*.*,*.lnk,vfp_init.*,tmp*.*,*.err, *.conflict.*, *.private., .gitignore, *.pui. *.prj* excludeFolders = *.plastic*,*ThorUpdater*,*Documentacion*,*foxunit*,*foxunit_*,*pruebas varias*,*versiones*,*datos_test* diff --git a/docs/FoxBin2Prg_Changes.md b/docs/FoxBin2Prg_Changes.md index 9aeb2b5..106ca7b 100644 --- a/docs/FoxBin2Prg_Changes.md +++ b/docs/FoxBin2Prg_Changes.md @@ -27,6 +27,8 @@ _**Note:** you can click on the version number for downloading this version from | Rel.Date | Developer | Version | Details | | - | - | - | - | +| 2021/08/20 | LScheffler | [v1.19.67](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.19.67) | **Bug Fix**: Double classes in VCX (LScheffler) | +| | | | **Enhancement**: Templates and documentation for config files reworked | | 2021/08/20 | LScheffler | [v1.19.66](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.19.66) | **Bug Fix**: Incorrect version showing for v1.19.65 (siara-cc) | | | | | **Enhancement**: Incorrect links on documentation (siara-cc) | | 2021/05/20 | LScheffler | [v1.19.65](https://github.com/fdbozzo/foxbin2prg/releases/tag/v1.19.65) | **Bug Fix**: Parameters -cCt not working from command line. (LScheffler) | diff --git a/foxbin2prg.cfg.txt b/foxbin2prg.cfg.txt index 75792ce..29ab6d6 100644 --- a/foxbin2prg.cfg.txt +++ b/foxbin2prg.cfg.txt @@ -1,96 +1,129 @@ *################################################################################################################ -*FOXBIN2PRG.CFG configuration options: (If no values given, these are the DEFAULTS) -*Version: v1.19.66 +*FOXBIN2PRG.CFG Konfigurations-Optionen: (Wird die Option nicht aufgeführt, ist der Wert im Beispiel der Default) +*Version: v1.19.67 ***************************************************************************************************************** -*-- Settings for internal work, not processing -*Language: (auto) && Language of shown messages and LOGs. EN=English, FR=French, ES=Español, DE=German, Not defined = AUTOMATIC [DEFAULT] -*ShowProgressbar: 1 && 0=Don't show, 1=Allways show, 2= Show only for multi-file processing -*DontShowErrors: 0 && Show message errors by default -*ExtraBackupLevels: 1 && By default 1 BAK is created. With this you can make more .N.BAK, or none -*Debug: 0 && Don't Activate individual .Log by default -*BackgroundImage: && Backgroundimage for process form. Empty for empty Background. File not found uses default. -*HomeDir: 1 && 0 = don't save HomeDir in PJ2, [1 = save HomeDir in PJ2] +* Achtung, die Konfigurationsdateien werden vererbt. +* 1. Defaultwerte +* 2., optional FOXBIN2PRG.CFG im Vereichnis aus dem FOXBIN2PRG.EXE startet +* 3., optional FOXBIN2PRG.CFG in der Wurzel des Arbeitsverzeichnises +* 4., optional FOXBIN2PRG.CFG in jedem Verzeichnis bis zum Arbeitsverzeichnis +* 5., optional Es können spezielle Einstellungen für einzelne DBF's erzeugt werden (Syntax: .dbf.cfg im Verzeichnis der Tabelle) +* 6., Parameter des Aufrufs von FOXBIN2PRG.EXE. + +* Einige Parameter im Aufruf von FOXBIN2PRG.EXE übersteueren diese Vorgaben (bis auf die Defaults) +***************************************************************************************************************** + +*Interne Einstellungen +*Language: (auto) && Sprache für Anzeigen und Logs. EN=English, FR=Français, ES=Español, DE=Deutsch, Nicht definiert = Automatisch [DEFAULT] +*ShowProgressbar: 1 && 0=Zeige Fortschrittsfenster, 1=Zeige es nicht, 2= Zeige Fortschrittsfenster nur, wenn mehrere Dateien konvertiert werden. +*DontShowErrors: 0 && 0=Zeige Fehler an, 1=Zeige keine Fehler an +*ExtraBackupLevels: 1 && Anzahl der Backup-Ebenen der Binärdateien 0=kein Backup, 1=.BAK, n>1= n-Backup-Ebenen, .n.BAK +*Debug: 0 && 0=Individuelles Logging ist aus 1= Individuelles Log per Datei .Log +*BackgroundImage: && Hintergrundbild für das Formular zur Fortschrittsanzeige. +* && Leer erzeugt kein Hintergrundbild. Wird die Datei nicht gefunden, wird der Standardhintergrund verwendet. +*HomeDir: 1 && Speichern der HomeDir Eigenschaft in die PJX +* && 0 Die Eigenschaft HomeDir wird nicht in die PJ2 gespeichert +* && 1 Die Eigenschaft wird gespeichert + +*---------------------------------------------------------------------------------------------------------------- +*-- Konvertierungs Optionen: +*PJX_Conversion_Support: 2 && 0=Aus, 1=Erzeuge nur Textdatei (Diff), 2=Erzeuge Text- und Binärdatei (Merge) +*VCX_Conversion_Support: 2 && 0=Aus, 1=Erzeuge nur Textdatei (Diff), 2=Erzeuge Text- und Binärdatei (Merge) +*SCX_Conversion_Support: 2 && 0=Aus, 1=Erzeuge nur Textdatei (Diff), 2=Erzeuge Text- und Binärdatei (Merge) +*FRX_Conversion_Support: 2 && 0=Aus, 1=Erzeuge nur Textdatei (Diff), 2=Erzeuge Text- und Binärdatei (Merge) +*LBX_Conversion_Support: 2 && 0=Aus, 1=Erzeuge nur Textdatei (Diff), 2=Erzeuge Text- und Binärdatei (Merge) +*MNX_Conversion_Support: 2 && 0=Aus, 1=Erzeuge nur Textdatei (Diff), 2=Erzeuge Text- und Binärdatei (Merge) +*DBC_Conversion_Support: 2 && 0=Aus, 1=Erzeuge nur Textdatei (Diff), 2=Erzeuge Text- und Binärdatei (Merge) +*DBF_Conversion_Support: 1 && 0=Aus +* && 1=Erzeuge Textdatei nur für Struktur (Diff) +* && 2=Erzeuge Text- und Binärdatei nur für Struktur (Merge) +* && 4=Erzeuge Textdatei nur für Struktur und Daten (Diff) +* && 8=Erzeuge Text- und Binärdatei nur für Struktur und Daten (Merge) +*FKY_Conversion_Support: 1 && 0=Aus, 1=Erzeuge nur Textdatei (Diff) +*MEM_Conversion_Support: 1 && 0=Aus, 1=Erzeuge nur Textdatei (Diff) *---------------------------------------------------------------------------------------------------------------- -*-- Conversion operation by type -*PJX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) -*VCX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) -*SCX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) -*FRX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) -*LBX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) -*MNX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) -*DBC_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) -*DBF_Conversion_Support: 1 && 0=No support, 1=Generate Header TXT only (Diff), 2=Generate Header TXT and BIN (Merge/Only Structure!), 4=Generate TXT with DATA (Diff), 8=Export and Import DATA (Merge/Structure & Data) -*FKY_Conversion_Support: 1 && 0=No support, 1=Generate TXT only (Diff) -*MEM_Conversion_Support: 1 && 0=No support, 1=Generate TXT only (Diff) -*---------------------------------------------------------------------------------------------------------------- - -*Setting for container files (not pjx) -*-- CLASS and FORM options (tx2 is to read as vc2 or sc2, VCX might be SCX) -*- Class per file options (UseClassPerFile: 1) -*UseClassPerFile: 0 && 0=One library tx2 file, 1=Multiple file.class.tx2 files, 2=Multiple file.baseclass.class.tx2 files -*RedirectClassPerFileToMain: 0 && 0=Don't redirect to file.tx2, 1=Redirect to file.tx2 when selecting file.class.tx2 -* && RedirectClassType: 1 precedes -*RedirectClassType: 0 && For classes created with UseClassPerFile>0 in the form file[.baseclass].class.tx2 -* && Those files could be imported like file.tx2::Class::import or like file[.baseclass].class.tx2 -* && For the second form: -* && 0 Redirect file[.baseclass].class.tx2 to file.VCX and add / replace all other classes of this library -* && 1 Redirect file[.baseclass].class.tx2 to file[.baseclass].class.VCX and do not touch file.VCX -* && 2 Redirect file[.baseclass].class.tx2 to file.VCX and do not touch other classes of file.VCX -*ClassPerFileCheck: 0 && 0=Don't check file.class.tx2 inclusion, 1=Check file.class.tx2 inclusion -* && Only used if import file is in file[.baseclass].class.tx2 syntax -* && Ignored for RedirectClassType: 2 +* ------Einstellungen für Container-Dateien (not pjx) +*-- Optionen für CLASS und FORM +*- Optionen für Datei per Klasse (UseClassPerFile: 1) (für VCX: vc2, für SCX: sc2) +*UseClassPerFile: 0 && Bestimmt wie die Klassen einer Bibliothek oder die objekte eines Formulars behandelt werden +* && 0 Eine Textdatei pro VCX/SCX +* && 1 Mehrere Dateien .KlassenName.vc2 files +* && 2 Mehrere Dateien .Basisklasse.KlassenName.vc2 +* && Für 1, 2 wird jeweils auch ein Headerdatei .vc2 erzeugt +*RedirectClassPerFileToMain: 0 && Bestimmt beim Erzeugen von Binardateien für Klassenbibliotheken und Formulare die Zieldatei +* && 0 Keine Umlenkung +* && 1 Klassen (und Objekte) werden in die VCX/SCX geschrieben wenn eine Datei [.Basisklasse].KlassenName.tx2 gewählt wurde +* && RedirectClassType: 1 hat Vorrang +*RedirectClassType: 0 && Für Textdateien die mit UseClassPerFile>0 in der Form [.Basisklasse].KlassenName.tx2 erstellt wurden. +* && diese Dateien können als Dateiname.tx2::KlassenName::import oder als [.Basisklasse].KlassenName.tx2 importiert werden. +* && Für die zweite Form gilt (jeweils VCX oder SCX ): +* && 0 Aus [.Basisklasse].KlassenName.tx2 wird .VCX und alle Klassen dieser Bibliothek werden neu gelesen +* && 1 Aus [.Basisklasse].KlassenName.tx2 wird [.Basisklasse].KlassenName.VCX, die Bibliothek file.VCX wird ignoriert +* && 2 Aus [.Basisklasse].KlassenName.tx2 wird .VCX aber alle anderen Klassen bleiben unverändert +*ClassPerFileCheck: 0 && Test, ob dateien aus die in der Basisdatei definert wurden, einbezogen wurden. +* && 0 Kein Test +* && 1 Teste, ob die Datei [.Basisklasse].KlassenName.tx2 einbezogen wurde +* && Nur für die [.Basisklasse].KlassenName.tx2 Syntax +* && Wird für RedirectClassType: 2 ignoriert *- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*-- DBC options -*- File per DBC options (UseFilesPerDBC: 1) -*OldFilesPerDBC: 0 && 1=Turns the File per DBC options on, 0 uses the old UseClassPerFile etc settings. -* && Options below will only read if OldFilesPerDBC is set 1 before! -* && If OldFilesPerDBC is set 0 later, alle setting will be lost -*UseFilesPerDBC: 0 && 0=One database dc2 file, 1=Multiple file.*.*.dc2 files -* && 0 creates only a file.dc2 with all DBC (file) data -* && 1 creates a file.dc2 with DBC properties -* && and additional DBC files per DBC item (stored-proc, table, ..) -* && Note: recration only if RedirectFilePerDBCToMain is 1 -*RedirectFilePerDBCToMain: 0 && 0=Don't redirect to file.dc2, 1=Redirect to file.tx2 when selecting file.item.*.dc2 -*ItemPerDBCCheck: 0 && 0=Don't check file.item.*.dc2 inclusion, 1=Check file.item.*.dc2 inclusion +*-- Optionen für DBC +*- Optionen für Datei per DBC options (UseFilesPerDBC: 1) +*OldFilesPerDBC: 0 && 1=Die unten stehenden DBC Optionen werden aktiviert, 0=Die UseClassPerFile settings werden genutzt. +* && Die unten stehenden Optionen werden nur gelesen, wenn OldFilesPerDBC vorher 1 ist! +* && Wird OldFilesPerDBC wieder auf 0 gesetzt, gehen diese Einstellungen verloren. +*UseFilesPerDBC: 0 && 0=Erzeuge eine dc2 Datei, 1=Erzeuge mehrfache Dateien.*.*.dc2 +* && 0 Erzeugt eine Datei .db2 mit allem Inhalt der DBC +* && 1 Erzeugt eine Datei .dc2 mit den Eigenschaften der Datenbank +* && und zusätzlich eine Datei für jedes Item der Datenbank (Gespeicherte Prozeduren, Tabellen, Views, ..) +* && Achtung! Diese Dateien werden nur dann in die Binädatei einbezogen, wenn RedirectFilePerDBCToMain 1 ist +*RedirectFilePerDBCToMain: 0 && Originale Dokumentation: 0=Keine Umlenkung, 1=Erzeuge .dbc, wenn .item.*.dc2 gewählt wurde +* && Die Binär-Datenbank wird nur dann automatisch zusammen gefügt, wenn diese Option 1 ist! +*ItemPerDBCCheck: 0 && 0=Aus, 1=Teste, ob .item.*.dc2 einbezogen wird. *---------------------------------------------------------------------------------------------------------------- -*-- General files -*NoTimestamps: 1 && Clear timestamps of several file types by default for minimize text-file differences -*ClearUniqueID: 1 && 0=Keep UniqueID in text files, 1=Clear Unique ID. Useful for Diff and Merge -*OptimizeByFilestamp: 0 && 1=Optimize file regeneration depending on file timestamp. Dangerous while working with branches! -*RemoveNullCharsFromCode: 1 && 1=Drop NULL chars from source code -*RemoveZOrderSetFromProps: 0 && 0=Do not remove ZOrderSet property from object, 1=Remove ZOrderSet property from object -*PRG_Compat_Level: 0 && [0=Legacy], 1=Use HELPSTRING as Class Procedure comment +*Allgemeine Dateien +*NoTimestamps: 1 && 0=Zeitstempel einiger Dateiarten werden nicht gelöscht 1=Zeitstempel werden zum Minimieren der Text-Datei-Unterschiede gelöscht +*ClearUniqueID: 1 && 0=Erhalte die Unique ID in den Text-Dateien, 1=Lösche Unique ID. Nützlich für Diff und Merge +*OptimizeByFilestamp: 0 && 0=Aus, 1=Optimierte Erzeugung der Binärdateien in Abhängigkeit vom Zeitstempel. Gefährlich beim Arbeiten mit Zweigen! +*RemoveNullCharsFromCode: 1 && 0=Aus 1=Lösche NULL (CHR(0)) Zeichen aus dem Quellcode +*RemoveZOrderSetFromProps: 0 && 0=Aus, 1=Entferne ZOrderSet Eigenschaft von Objekten +*PRG_Compat_Level: 0 && 0=Legacy, 1=Nutze HELPSTRING als Class Procedure Kommentar *---------------------------------------------------------------------------------------------------------------- -*-- PJX special -*BodyDevInfo: 0 && [0=Don't keep DevInfo for body pjx records], 1=Keep DevInfo +*-- speziell PJX +*BodyDevInfo: 0 && 0=DevInfo im body-pjx-Datensatz wird nicht erhalten], 1=DevInfo wird erhalten *---------------------------------------------------------------------------------------------------------------- -*-- DBF special -*ClearDBFLastUpdate: 1 && 0=Keep DBF LastUpdate, 1=Clear DBF LastUpdate. Useful for Diff. -*ExcludeDBFAutoincNextval: 0 && [0=Do not exclude this value from db2], 1=Exclude this value from db2 -*DBF_Conversion_Included: * && If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf -*DBF_Conversion_Excluded: && If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf -*DBF_BinChar_Base64: 1 && For character type fields, if NoCPTrans 0=do not transform, 1=use Base64 transform (default) -*DBF_IncludeDeleted: 0 && 0=Do not include deleted records (default), 1=Include deleted records +*-- speziell DBF +*ClearDBFLastUpdate: 1 && 0=Erhalte DBF LastUpdate, 1=Lösche DBF LastUpdate. Nützlich für Diff und Merge +*ExcludeDBFAutoincNextval: 0 && 0=Aus, 1=Entferne diesen Wert aus der Textdate der Datenbank (db2) +*DBF_Conversion_Included: * && Für DBF_Conversion_Support: 4 kann eine mehrfache Dateimaske zum Einbeziehen angegeben werden, z.B.: www,fb2p_free.dbf +* && *=Alle, Die Maske darf Wildcards (*,?) enthalten +* && Diese Option kann auch per Tabelle gesetzt werden. +*DBF_Conversion_Excluded: && Für DBF_Conversion_Support: 4 kann eine mehrfache Dateimaske zum Ausschließen angegeben werden, z.B.: www,fb2p_free.dbf +* && Leer=Keine Datei auschließen +*DBF_BinChar_Base64: 1 && Für Felder mit Zeichen Typ (C,V,M), wenn NoCPTrans, dann 0=nicht transform,ieren, 1=Führe Base64 Transformation aus (default) +* && Dies entspricht dem Flag 4096 in CursorToXML() +* && Diese Option kann auch per Tabelle gesetzt werden. +*DBF_IncludeDeleted: 0 && 0=Ohne gelöschte Datensätze (default), 1=Mit gelöschten Datensätzen +* && Diese Option kann auch per Tabelle gesetzt werden. *---------------------------------------------------------------------------------------------------------------- -*-- Text file extensions -*extension: tx2=newext && Specify extensions to use. Default FoxBin2Prg extensions ends in '2' (see at the bottom) -*-- Example configuration for SourceSafe compatibility: -*extension: pj2=pja && Text file to PJX -*extension: vc2=vca && Text file to VCX -*extension: sc2=sca && Text file to SCX -*extension: fr2=fra && Text file to FRX -*extension: lb2=lba && Text file to LBX -*extension: mn2=mna && Text file to MNX -*extension: db2=dba && Text file to DBF -*extension: dc2=dca && Text file to DBC -*-- Additional extensions -*extension: fk2=fkx && Text file to FKY -*extension: me2=fkx && Text file to MEM +*-- Text-Datei Endungen +*extension: tx2=newext && Umdefinition der Dateiendung der Textdateien. Die vordefinierten Endungen enden mit '2' (Beispiel siehe Ende dieser Datei) +*-- Beispiel für geänderte Textdatei Endungen, hier für SourceSafe Kompatibiltät: +*extension: pj2=pja && Text Datei für PJX +*extension: vc2=vca && Text Datei für VCX +*extension: sc2=sca && Text Datei für SCX +*extension: fr2=fra && Text Datei für FRX +*extension: lb2=lba && Text Datei für LBX +*extension: mn2=mna && Text Datei für MNX +*extension: db2=dba && Text Datei für DBF +*extension: dc2=dca && Text Datei für DBC +*-- Zusätzliche Endungen +*extension: fk2=fkx && Text Datei für FKY +*extension: me2=fkx && Text Datei für MEM * \ No newline at end of file diff --git a/foxbin2prg.dbf.cfg.txt b/foxbin2prg.dbf.cfg.txt index db658e1..0406eb3 100644 --- a/foxbin2prg.dbf.cfg.txt +++ b/foxbin2prg.dbf.cfg.txt @@ -1,12 +1,21 @@ *################################################################################################################ -*-- Individual DBF configuration file (syntax: filename.dbf.cfg) Defaults see FoxBin2prg.cfg -*Version: v1.19.66 +*-- Individual DBF configuration file (Syntax: .dbf.cfg im Verzeichnis der Tabelle) Defaults siehe FoxBin2prg.cfg +*Version: v1.19.67 ***************************************************************************************************************** -*DBF_Conversion_Support: <0,1,2,4,8> && 0=No support, 1=Generate Header TXT only (Diff), 2=Generate Header TXT and BIN (Merge/Only Structure!), 4=Generate TXT with DATA (Diff), 8=Export and Import DATA (Merge/Structure & Data) -*DBF_Conversion_Order: && Field expresion. ie: name+str(age,3) -*DBF_Conversion_Condition: && Logical expression. ie: age > 10 AND NOT DELETED() -*DBF_IndexList: && comma delimited list of additonal non structural index files, cdx or idx -*DBF_BinChar_Base64: <0,1> && For character type fields, if NoCPTrans 0=do not transform, 1=use Base64 transform -*DBF_IncludeDeleted: <0,1> && 0=Do not include deleted records, 1=Include deleted records +*DBF_Conversion_Support: <1,2,4,8> && 0=Aus +* && 1=Erzeuge Textdatei nur für Struktur (Diff) +* && 2=Erzeuge Text- und Binärdatei nur für Struktur (Merge) +* && 4=Erzeuge Textdatei nur für Struktur und Daten (Diff) +* && 8=Erzeuge Text- und Binärdatei nur für Struktur und Daten (Merge) +*DBF_Conversion_Order: && Optional, Reihenfolge der Datensätze. Ausdruck für INDEX ON. ie: name+str(age,3) +* && leer: normale Reihenfolge +*DBF_Conversion_Condition: && Optional, Ausdruck für SELECT FOR. ie: age > 10 AND NOT DELETED() +* && leer: Alle, außer DBF_IncludeDeleted +*DBF_IndexList: && Kommagetrennte Liste von Dateien. Zusätzliche Index - Dateien. CDX oder IDX. Nicht der Strukturelle Index +*DBF_BinChar_Base64: <0,1> && Für Felder mit Zeichen Typ (C,V,M), wenn NoCPTrans, dann 0=nicht transform,ieren, 1=Führe Base64 Transformation aus +* && Dies entspricht dem Flag 4096 in CursorToXML() +* && Diese Option kann auch per Tabelle gesetzt werden. +*DBF_IncludeDeleted: <0,1> && 0=Ohne gelöschte Datensätze, 1=Mit gelöschten Datensätzen +* && Diese Option kann auch per Tabelle gesetzt werden. * \ No newline at end of file diff --git a/foxbin2prg.exe b/foxbin2prg.exe index e4cd96e..6a0549f 100644 Binary files a/foxbin2prg.exe and b/foxbin2prg.exe differ diff --git a/foxbin2prg.pjt b/foxbin2prg.pjt index 5920949..02d34ec 100644 Binary files a/foxbin2prg.pjt and b/foxbin2prg.pjt differ diff --git a/foxbin2prg.pjx b/foxbin2prg.pjx index b9473f0..9adf2ee 100644 Binary files a/foxbin2prg.pjx and b/foxbin2prg.pjx differ diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 53635d1..4f3e963 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -276,10 +276,13 @@ * 20/05/2021 LScheffler v1.19.65 Bug Fix: Options "-cCt" are not usable on command line base EXE. "cCt" are allowed too now * 30/08/2021 LScheffler v1.19.66 Bug Fix: Incorrect version showing for v1.19.65 (siara-cc) * This creates wrong version in generated config files too +* 07/12/2021 LScheffler v1.19.67 Bug Fix: Double classes in VCX +* 12/04/2021 LScheffler v1.19.67 Docu: examples and template for config files reworked * * *--------------------------------------------------------------------------------------------------- * +* 05/11/2021 LScheffler BUG REPORT v1.19.66 Double classes in VCX * 05/08/2021 siara-cc BUG REPORT v1.19.65 Incorrect version number shown. * 05/08/2021 siara-cc BUG REPORT v1.19.65 Tags missing on github. * 05/08/2021 siara-cc BUG REPORT v1.19.65 Incorrect links on documentation. @@ -947,7 +950,7 @@ Define Class c_foxbin2prg As Session Protected n_CFG_Actual, l_Main_CFG_Loaded, o_Configuration, l_CFG_CachedAccess *-- n_FB2PRG_Version = 1.19 - c_FB2PRG_Version_Real = '1.19.66' + c_FB2PRG_Version_Real = '1.19.67' *-- c_Language = '' && EN, FR, ES, DE c_Language_In = '(auto)' @@ -11398,7 +11401,7 @@ Define Class c_conversor_prg_a_vcx As c_conversor_prg_a_bin , laLineasExclusion, lnBloquesExclusion, I Endtry - Return + RETURN Endproc @@ -11479,9 +11482,12 @@ Define Class c_conversor_prg_a_vcx As c_conversor_prg_a_bin Try Local lcObjName, lnCodError, I, X, llReplace, laUniqueID(1,1), loEx As Exception ; , loClase As CL_CLASE Of 'FOXBIN2PRG.PRG' ; - , loFSO As Scripting.FileSystemObject + , loFSO As Scripting.FileSystemObject ; + , loLang As CL_LANG Of 'FOXBIN2PRG.PRG' With This As c_conversor_prg_a_vcx Of 'FOXBIN2PRG.PRG' + loLang = _Screen.o_FoxBin2Prg_Lang + Store Null To loFSO, loClase loFSO = .oFSO @@ -11566,6 +11572,29 @@ Define Class c_conversor_prg_a_vcx As c_conversor_prg_a_bin loClase._UniqueID = toFoxBin2Prg.unique_ID() Endif +*!* Changed by: SF 07.12.2021 +*!* +*!* Changed by: SF
+*!* https://github.com/fdbozzo/foxbin2prg/issues/72 / double classes in VCX +*!* The old code will write a class whether or not the class is already in the classlib +*!* Problem comes if a class is defined double by inconsistent UseClassPerFile, +*!* with same class defined in file.vc2 and in file[.baseclass].class.vc2 +*!*
+*!*
+ + SELECT TABLABIN + LOCATE; + FOR OBJNAME==loClase._ObjName + IF FOUND() THEN +*SF 20211207 +*SET STEP ON + Error loLang.C_ClassTwice_Header_LOC + ; + loLang.C_ClassTwice_Lib_LOC + JUSTFNAME( DBF() ) + ; + loLang.C_ClassTwice_Class_LOC + loClase._ObjName+0h0D0A + ENDIF &&FOUND() + +*!* /Changed by SF 07.12.2021 + *-- Inserto la clase Insert Into TABLABIN ; ( PLATFORM ; @@ -11667,12 +11696,15 @@ Define Class c_conversor_prg_a_vcx As c_conversor_prg_a_bin , '' ) Endfor && I = 1 TO toModulo._Clases_Count + IF !EMPTY( lnCodError ) THEN + EXIT + ENDIF &&!EMPTY( lnCodError ) Endfor && X = 1 TO 2 Endif Use In (Select("TABLABIN")) - If toFoxBin2Prg.l_Recompile + If toFoxBin2Prg.l_Recompile AND EMPTY( lnCodError ) toFoxBin2Prg.compileFoxProBinary() Endif @@ -30115,6 +30147,9 @@ Define Class CL_LANG As Custom C_FILENAME_LOC = "" C_FOXBIN2PRG_ERROR_CAPTION_LOC = "" C_FOXBIN2PRG_SYNTAX_INFO_LOC = "" + C_ClassTwice_Header_LOC = "" + C_ClassTwice_Lib_LOC = "" + C_ClassTwice_Class_LOC = "" C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC = "" C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_Header4 = "" C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC_cfg = "" @@ -30238,6 +30273,9 @@ Define Class CL_LANG As Custom .C_FILENAME_LOC = "Fichier" .C_FOXBIN2PRG_ERROR_CAPTION_LOC = "ERREUR" .C_FOXBIN2PRG_SYNTAX_INFO_LOC = "SYNTAX AND PARAMETERS INFO" + .C_ClassTwice_Header_LOC = 0h0D0A+"Class defined twice."+0h0D0A + .C_ClassTwice_Lib_LOC = 0h0D0A+"Library: " + .C_ClassTwice_Class_LOC = 0h0D0A+"Class: " TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 <<>>################################################################################################################ <<>>FoxBin2Prg Home Page and download: https://github.com/fdbozzo/foxbin2prg/wiki - Fernando D. Bozzo (2013.11.25) @@ -30294,7 +30332,9 @@ Define Class CL_LANG As Custom <<>>ExtraBackupLevels: 1 && By default 1 BAK is created. With this you can make more .N.BAK, or none <<>>Debug: 0 && Don't Activate individual .Log by default <<>>BackgroundImage: && Backgroundimage for process form. Empty for empty Background. File not found uses default. - <<>>HomeDir: 1 && 0 = don't save HomeDir in PJ2, [1 = save HomeDir in PJ2] + <<>>HomeDir: 1 && Home Directory in PJX + <<>> && 0 don't save HomeDir in PJ2 + <<>> && 1 save HomeDir in PJ2 <<>>---------------------------------------------------------------------------------------------------------------- <<>> <<>>-- Conversion operation by type @@ -30313,16 +30353,23 @@ Define Class CL_LANG As Custom <<>>Setting for container files (not pjx) <<>>-- CLASS and FORM options (tx2 is to read as vc2 or sc2, VCX might be SCX) <<>>- Class per file options (UseClassPerFile: 1) - <<>>UseClassPerFile: 0 && 0=One library tx2 file, 1=Multiple file.class.tx2 files, 2=Multiple file.baseclass.class.tx2 files - <<>>RedirectClassPerFileToMain: 0 && 0=Don't redirect to file.tx2, 1=Redirect to file.tx2 when selecting file.class.tx2 - <<>> && RedirectClassType: 1 precedes + <<>>UseClassPerFile: 0 && Determines how a library (or form) will handle included class (or, for forms, objects) + <<>> && 0 One library.tx2 file + <<>> && 1 Multiple file.class.tx2 files + <<>> && 2 Multiple file.baseclass.class.tx2 files + <<>>RedirectClassPerFileToMain: 0 && When regenerating binary files, determine target file + <<>> && 0 Don't redirect to file.tx2 + <<>> && 1 Redirect to file.tx2 when selecting file[.baseclass].class.tx2 + <<>> && RedirectClassType: 1 has precedence <<>>RedirectClassType: 0 && For classes created with UseClassPerFile>0 in the form file[.baseclass].class.tx2 <<>> && Those files could be imported like file.tx2::Class::import or like file[.baseclass].class.tx2 <<>> && For the second form: <<>> && 0 Redirect file[.baseclass].class.tx2 to file.VCX and add / replace all other classes of this library <<>> && 1 Redirect file[.baseclass].class.tx2 to file[.baseclass].class.VCX and do not touch file.VCX <<>> && 2 Redirect file[.baseclass].class.tx2 to file.VCX and do not touch other classes of file.VCX - <<>>ClassPerFileCheck: 0 && 0=Don't check file.class.tx2 inclusion, 1=Check file.class.tx2 inclusion + <<>>ClassPerFileCheck: 0 && Check, if files listed in the main file of a library or form will be included + <<>> && 0 Don't check file inclusion + <<>> && 1 Check file[.baseclass].class.tx2 inclusion <<>> && Only used if import file is in file[.baseclass].class.tx2 syntax <<>> && Ignored for RedirectClassType: 2 <<>>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -30347,16 +30394,16 @@ Define Class CL_LANG As Custom <<>>OptimizeByFilestamp: 0 && 1=Optimize file regeneration depending on file timestamp. Dangerous while working with branches! <<>>RemoveNullCharsFromCode: 1 && 1=Drop NULL chars from source code <<>>RemoveZOrderSetFromProps: 0 && 0=Do not remove ZOrderSet property from object, 1=Remove ZOrderSet property from object - <<>>PRG_Compat_Level: 0 && [0=Legacy], 1=Use HELPSTRING as Class Procedure comment + <<>>PRG_Compat_Level: 0 && 0=Legacy, 1=Use HELPSTRING as Class Procedure comment <<>>---------------------------------------------------------------------------------------------------------------- <<>> <<>>-- PJX special - <<>>BodyDevInfo: 0 && [0=Don't keep DevInfo for body pjx records], 1=Keep DevInfo + <<>>BodyDevInfo: 0 && 0=Don't keep DevInfo for body pjx records, 1=Keep DevInfo <<>>---------------------------------------------------------------------------------------------------------------- <<>> <<>>-- DBF special <<>>ClearDBFLastUpdate: 1 && 0=Keep DBF LastUpdate, 1=Clear DBF LastUpdate. Useful for Diff. - <<>>ExcludeDBFAutoincNextval: 0 && [0=Do not exclude this value from db2], 1=Exclude this value from db2 + <<>>ExcludeDBFAutoincNextval: 0 && 0=Do not exclude this value from db2, 1=Exclude this value from db2 <<>>DBF_Conversion_Included: * && If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf <<>>DBF_Conversion_Excluded: && If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf <<>>DBF_BinChar_Base64: 1 && For character type fields, if NoCPTrans 0=do not transform, 1=use Base64 transform (default) @@ -30490,6 +30537,9 @@ Define Class CL_LANG As Custom .C_FILENAME_LOC = "Archivo" .C_FOXBIN2PRG_ERROR_CAPTION_LOC = "ERROR" .C_FOXBIN2PRG_SYNTAX_INFO_LOC = "INFORMACIÓN DE SINTAXIS Y PARÁMETROS" + .C_ClassTwice_Header_LOC = 0h0D0A+"Class defined twice."+0h0D0A + .C_ClassTwice_Lib_LOC = 0h0D0A+"Library: " + .C_ClassTwice_Class_LOC = 0h0D0A+"Class: " TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 <<>>################################################################################################################ <<>>Página principal y descarga de FoxBin2Prg: https://github.com/fdbozzo/foxbin2prg/wiki - Fernando D. Bozzo (2013.11.25) @@ -30545,7 +30595,9 @@ Define Class CL_LANG As Custom <<>>ExtraBackupLevels: 1 && By default 1 BAK is created. With this you can make more .N.BAK, or none <<>>Debug: 0 && Don't Activate individual .Log by default <<>>BackgroundImage: && Backgroundimage for process form. Empty for empty Background. File not found uses default. - <<>>HomeDir: 1 && 0 = don't save HomeDir in PJ2, [1 = save HomeDir in PJ2] + <<>>HomeDir: 1 && Home Directory in PJX + <<>> && 0 don't save HomeDir in PJ2 + <<>> && 1 save HomeDir in PJ2 <<>>---------------------------------------------------------------------------------------------------------------- <<>> <<>>-- Conversion operation by type @@ -30564,16 +30616,23 @@ Define Class CL_LANG As Custom <<>>Setting for container files (not pjx) <<>>-- CLASS and FORM options (tx2 is to read as vc2 or sc2, VCX might be SCX) <<>>- Class per file options (UseClassPerFile: 1) - <<>>UseClassPerFile: 0 && 0=One library tx2 file, 1=Multiple file.class.tx2 files, 2=Multiple file.baseclass.class.tx2 files - <<>>RedirectClassPerFileToMain: 0 && 0=Don't redirect to file.tx2, 1=Redirect to file.tx2 when selecting file.class.tx2 - <<>> && RedirectClassType: 1 precedes + <<>>UseClassPerFile: 0 && Determines how a library (or form) will handle included class (or, for forms, objects) + <<>> && 0 One library.tx2 file + <<>> && 1 Multiple file.class.tx2 files + <<>> && 2 Multiple file.baseclass.class.tx2 files + <<>>RedirectClassPerFileToMain: 0 && When regenerating binary files, determine target file + <<>> && 0 Don't redirect to file.tx2 + <<>> && 1 Redirect to file.tx2 when selecting file[.baseclass].class.tx2 + <<>> && RedirectClassType: 1 has precedence <<>>RedirectClassType: 0 && For classes created with UseClassPerFile>0 in the form file[.baseclass].class.tx2 <<>> && Those files could be imported like file.tx2::Class::import or like file[.baseclass].class.tx2 <<>> && For the second form: <<>> && 0 Redirect file[.baseclass].class.tx2 to file.VCX and add / replace all other classes of this library <<>> && 1 Redirect file[.baseclass].class.tx2 to file[.baseclass].class.VCX and do not touch file.VCX <<>> && 2 Redirect file[.baseclass].class.tx2 to file.VCX and do not touch other classes of file.VCX - <<>>ClassPerFileCheck: 0 && 0=Don't check file.class.tx2 inclusion, 1=Check file.class.tx2 inclusion + <<>>ClassPerFileCheck: 0 && Check, if files listed in the main file of a library or form will be included + <<>> && 0 Don't check file inclusion + <<>> && 1 Check file[.baseclass].class.tx2 inclusion <<>> && Only used if import file is in file[.baseclass].class.tx2 syntax <<>> && Ignored for RedirectClassType: 2 <<>>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -30598,16 +30657,16 @@ Define Class CL_LANG As Custom <<>>OptimizeByFilestamp: 0 && 1=Optimize file regeneration depending on file timestamp. Dangerous while working with branches! <<>>RemoveNullCharsFromCode: 1 && 1=Drop NULL chars from source code <<>>RemoveZOrderSetFromProps: 0 && 0=Do not remove ZOrderSet property from object, 1=Remove ZOrderSet property from object - <<>>PRG_Compat_Level: 0 && [0=Legacy], 1=Use HELPSTRING as Class Procedure comment + <<>>PRG_Compat_Level: 0 && 0=Legacy, 1=Use HELPSTRING as Class Procedure comment <<>>---------------------------------------------------------------------------------------------------------------- <<>> <<>>-- PJX special - <<>>BodyDevInfo: 0 && [0=Don't keep DevInfo for body pjx records], 1=Keep DevInfo + <<>>BodyDevInfo: 0 && 0=Don't keep DevInfo for body pjx records, 1=Keep DevInfo <<>>---------------------------------------------------------------------------------------------------------------- <<>> <<>>-- DBF special <<>>ClearDBFLastUpdate: 1 && 0=Keep DBF LastUpdate, 1=Clear DBF LastUpdate. Useful for Diff. - <<>>ExcludeDBFAutoincNextval: 0 && [0=Do not exclude this value from db2], 1=Exclude this value from db2 + <<>>ExcludeDBFAutoincNextval: 0 && 0=Do not exclude this value from db2, 1=Exclude this value from db2 <<>>DBF_Conversion_Included: * && If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf <<>>DBF_Conversion_Excluded: && If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf <<>>DBF_BinChar_Base64: 1 && For character type fields, if NoCPTrans 0=do not transform, 1=use Base64 transform (default) @@ -30741,6 +30800,9 @@ Define Class CL_LANG As Custom .C_FILENAME_LOC = "Datei" .C_FOXBIN2PRG_ERROR_CAPTION_LOC = "FEHLER" .C_FOXBIN2PRG_SYNTAX_INFO_LOC = "SYNTAX UND PARAMETER INFORMATION" + .C_ClassTwice_Header_LOC = 0h0D0A+"Klasse doppelt deklariert."+0h0D0A + .C_ClassTwice_Lib_LOC = 0h0D0A+"Bibliothek: " + .C_ClassTwice_Class_LOC = 0h0D0A+"Klasse: " TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 <<>>################################################################################################################ <<>>FoxBin2Prg Home Page and download: https://github.com/fdbozzo/foxbin2prg/wiki - Fernando D. Bozzo (2013.11.25) @@ -30808,7 +30870,9 @@ Define Class CL_LANG As Custom <<>>Debug: 0 && 0=Individuelles Logging ist aus 1= Individuelles Log per Datei .Log <<>>BackgroundImage: && Hintergrundbild für das Formular zur Fortschrittsanzeige. <<>> && Leer erzeugt kein Hintergrundbild. Wird die Datei nicht gefunden, wird der Standardhintergrund verwendet. - <<>>HomeDir: 1 && 0 = Die Eigenschaft HomeDir wird nicht in die PJ2 gespeichert, [1 = Die Eigenschaft wird gespeichert] + <<>>HomeDir: 1 && Speichern der HomeDir Eigenschaft in die PJX + <<>> && 0 Die Eigenschaft HomeDir wird nicht in die PJ2 gespeichert + <<>> && 1 Die Eigenschaft wird gespeichert <<>> <<>>---------------------------------------------------------------------------------------------------------------- <<>>-- Konvertierungs Optionen: @@ -30831,18 +30895,25 @@ Define Class CL_LANG As Custom <<>> ------Einstellungen für Container-Dateien (not pjx) <<>>-- Optionen für CLASS und FORM <<>>- Optionen für Datei per Klasse (UseClassPerFile: 1) (für VCX: vc2, für SCX: sc2) - <<>>UseClassPerFile: 0 && 0=Eine Textdatei pro VCX/SCX, 1=Mehrere Dateien .KlassenName.vc2 files, 2=Mehrere Dateien .Basisklasse.KlassenName.vc2 + <<>>UseClassPerFile: 0 && Bestimmt wie die Klassen einer Bibliothek oder die objekte eines Formulars behandelt werden + <<>> && 0 Eine Textdatei pro VCX/SCX + <<>> && 1 Mehrere Dateien .KlassenName.vc2 files + <<>> && 2 Mehrere Dateien .Basisklasse.KlassenName.vc2 <<>> && Für 1, 2 wird jeweils auch ein Headerdatei .vc2 erzeugt - <<>>RedirectClassPerFileToMain: 0 && 0=Keine Umlenkung, 1=Klassen (und Objekte) werden in die VCX/SCX geschrieben wenn eine Datei [.Basisklasse].KlassenName.vc2 gewählt wurde - <<>> && RedirectClassType: 1 hat Vorrang - <<>>RedirectClassType: 0 && Für Textdateien die mit UseClassPerFile>0 in der Form file[.baseclass].class.tx2 erstellt wurden. - <<>> && diese Dateien können als file.tx2::Class::import oder als file[.baseclass].class.tx2 importiert werden. - <<>> && Für die zweite Form gilt: - <<>> && 0 Aus file[.baseclass].class.tx2 wird file.VCX und alle Klassen dieser Bibliothek werden neu gelesen - <<>> && 1 Aus file[.baseclass].class.tx2 wird file[.baseclass].class.VCX, die Bibliothek file.VCX wird ignoriert - <<>> && 2 Aus file[.baseclass].class.tx2 wird file.VCX aber alle anderen Klassen bleiben unverändert - <<>>ClassPerFileCheck: 0 && 0=Aus, 1=Teste, ob die Datei einbezogen [.Basisklasse].KlassenName.vc2 wurde - <<>> && Nur für die file[.baseclass].class.tx2 Syntax + <<>>RedirectClassPerFileToMain: 0 && Bestimmt beim Erzeugen von Binardateien für Klassenbibliotheken und Formulare die Zieldatei + <<>> && 0 Keine Umlenkung + <<>> && 1 Klassen (und Objekte) werden in die VCX/SCX geschrieben wenn eine Datei [.Basisklasse].KlassenName.tx2 gewählt wurde + <<>> && RedirectClassType: 1 hat Vorrang + <<>>RedirectClassType: 0 && Für Textdateien die mit UseClassPerFile>0 in der Form [.Basisklasse].KlassenName.tx2 erstellt wurden. + <<>> && diese Dateien können als Dateiname.tx2::KlassenName::import oder als [.Basisklasse].KlassenName.tx2 importiert werden. + <<>> && Für die zweite Form gilt (jeweils VCX oder SCX ): + <<>> && 0 Aus [.Basisklasse].KlassenName.tx2 wird .VCX und alle Klassen dieser Bibliothek werden neu gelesen + <<>> && 1 Aus [.Basisklasse].KlassenName.tx2 wird [.Basisklasse].KlassenName.VCX, die Bibliothek file.VCX wird ignoriert + <<>> && 2 Aus [.Basisklasse].KlassenName.tx2 wird .VCX aber alle anderen Klassen bleiben unverändert + <<>>ClassPerFileCheck: 0 && Test, ob dateien aus die in der Basisdatei definert wurden, einbezogen wurden. + <<>> && 0 Kein Test + <<>> && 1 Teste, ob die Datei [.Basisklasse].KlassenName.tx2 einbezogen wurde + <<>> && Nur für die [.Basisklasse].KlassenName.tx2 Syntax <<>> && Wird für RedirectClassType: 2 ignoriert <<>>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <<>> @@ -30867,7 +30938,7 @@ Define Class CL_LANG As Custom <<>>OptimizeByFilestamp: 0 && 0=Aus, 1=Optimierte Erzeugung der Binärdateien in Abhängigkeit vom Zeitstempel. Gefährlich beim Arbeiten mit Zweigen! <<>>RemoveNullCharsFromCode: 1 && 0=Aus 1=Lösche NULL (CHR(0)) Zeichen aus dem Quellcode <<>>RemoveZOrderSetFromProps: 0 && 0=Aus, 1=Entferne ZOrderSet Eigenschaft von Objekten - <<>>PRG_Compat_Level: 0 && [0=Legacy], 1=Nutze HELPSTRING als Class Procedure Kommentar + <<>>PRG_Compat_Level: 0 && 0=Legacy, 1=Nutze HELPSTRING als Class Procedure Kommentar <<>>---------------------------------------------------------------------------------------------------------------- <<>> <<>>-- speziell PJX @@ -31026,6 +31097,9 @@ Define Class CL_LANG As Custom .C_FILENAME_LOC = "File" .C_FOXBIN2PRG_ERROR_CAPTION_LOC = "ERROR" .C_FOXBIN2PRG_SYNTAX_INFO_LOC = "SYNTAX AND PARAMETERS INFO" + .C_ClassTwice_Header_LOC = 0h0D0A+"Class defined twice."+0h0D0A + .C_ClassTwice_Lib_LOC = 0h0D0A+"Library: " + .C_ClassTwice_Class_LOC = 0h0D0A+"Class: " TEXT TO .C_FOXBIN2PRG_SYNTAX_INFO_EXAMPLE_LOC TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2 <<>>################################################################################################################ <<>>FoxBin2Prg Home Page and download: https://github.com/fdbozzo/foxbin2prg/wiki - Fernando D. Bozzo (2013.11.25) @@ -31082,7 +31156,9 @@ Define Class CL_LANG As Custom <<>>ExtraBackupLevels: 1 && By default 1 BAK is created. With this you can make more .N.BAK, or none <<>>Debug: 0 && Don't Activate individual .Log by default <<>>BackgroundImage: && Backgroundimage for process form. Empty for empty Background. File not found uses default. - <<>>HomeDir: 1 && 0 = don't save HomeDir in PJ2, [1 = save HomeDir in PJ2] + <<>>HomeDir: 1 && Home Directory in PJX + <<>> && 0 don't save HomeDir in PJ2 + <<>> && 1 save HomeDir in PJ2 <<>>---------------------------------------------------------------------------------------------------------------- <<>> <<>>-- Conversion operation by type @@ -31101,16 +31177,23 @@ Define Class CL_LANG As Custom <<>>Setting for container files (not pjx) <<>>-- CLASS and FORM options (tx2 is to read as vc2 or sc2, VCX might be SCX) <<>>- Class per file options (UseClassPerFile: 1) - <<>>UseClassPerFile: 0 && 0=One library tx2 file, 1=Multiple file.class.tx2 files, 2=Multiple file.baseclass.class.tx2 files - <<>>RedirectClassPerFileToMain: 0 && 0=Don't redirect to file.tx2, 1=Redirect to file.tx2 when selecting file.class.tx2 - <<>> && RedirectClassType: 1 precedes + <<>>UseClassPerFile: 0 && Determines how a library (or form) will handle included class (or, for forms, objects) + <<>> && 0 One library.tx2 file + <<>> && 1 Multiple file.class.tx2 files + <<>> && 2 Multiple file.baseclass.class.tx2 files + <<>>RedirectClassPerFileToMain: 0 && When regenerating binary files, determine target file + <<>> && 0 Don't redirect to file.tx2 + <<>> && 1 Redirect to file.tx2 when selecting file[.baseclass].class.tx2 + <<>> && RedirectClassType: 1 has precedence <<>>RedirectClassType: 0 && For classes created with UseClassPerFile>0 in the form file[.baseclass].class.tx2 <<>> && Those files could be imported like file.tx2::Class::import or like file[.baseclass].class.tx2 <<>> && For the second form: <<>> && 0 Redirect file[.baseclass].class.tx2 to file.VCX and add / replace all other classes of this library <<>> && 1 Redirect file[.baseclass].class.tx2 to file[.baseclass].class.VCX and do not touch file.VCX <<>> && 2 Redirect file[.baseclass].class.tx2 to file.VCX and do not touch other classes of file.VCX - <<>>ClassPerFileCheck: 0 && 0=Don't check file.class.tx2 inclusion, 1=Check file.class.tx2 inclusion + <<>>ClassPerFileCheck: 0 && Check, if files listed in the main file of a library or form will be included + <<>> && 0 Don't check file inclusion + <<>> && 1 Check file[.baseclass].class.tx2 inclusion <<>> && Only used if import file is in file[.baseclass].class.tx2 syntax <<>> && Ignored for RedirectClassType: 2 <<>>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -31135,16 +31218,16 @@ Define Class CL_LANG As Custom <<>>OptimizeByFilestamp: 0 && 1=Optimize file regeneration depending on file timestamp. Dangerous while working with branches! <<>>RemoveNullCharsFromCode: 1 && 1=Drop NULL chars from source code <<>>RemoveZOrderSetFromProps: 0 && 0=Do not remove ZOrderSet property from object, 1=Remove ZOrderSet property from object - <<>>PRG_Compat_Level: 0 && [0=Legacy], 1=Use HELPSTRING as Class Procedure comment + <<>>PRG_Compat_Level: 0 && 0=Legacy, 1=Use HELPSTRING as Class Procedure comment <<>>---------------------------------------------------------------------------------------------------------------- <<>> <<>>-- PJX special - <<>>BodyDevInfo: 0 && [0=Don't keep DevInfo for body pjx records], 1=Keep DevInfo + <<>>BodyDevInfo: 0 && 0=Don't keep DevInfo for body pjx records, 1=Keep DevInfo <<>>---------------------------------------------------------------------------------------------------------------- <<>> <<>>-- DBF special <<>>ClearDBFLastUpdate: 1 && 0=Keep DBF LastUpdate, 1=Clear DBF LastUpdate. Useful for Diff. - <<>>ExcludeDBFAutoincNextval: 0 && [0=Do not exclude this value from db2], 1=Exclude this value from db2 + <<>>ExcludeDBFAutoincNextval: 0 && 0=Do not exclude this value from db2, 1=Exclude this value from db2 <<>>DBF_Conversion_Included: * && If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf <<>>DBF_Conversion_Excluded: && If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf <<>>DBF_BinChar_Base64: 1 && For character type fields, if NoCPTrans 0=do not transform, 1=use Base64 transform (default)