What's new in
Freelance
The Second Edition
2002-08-22
ü
SmartSeek
Hledání v tabulkových editorech lze provádět
klepnutím na záhlaví sloupce, které vyvolá menu obsahující všechny hodnoty
sloupce ve stávajícím výběru. Klepnutí na konkrétní hodnotu automaticky nastaví
výběrovou podmínku. Výběrové podmínky lze jednoduše kombinovat.
The Second Edition
2002-07-07
·
Freelance
Hledání v tabulkových editorech
obsahuje záložku Sloupce, ve které lze nastavovat zobrazení/skrývání
jednotlivých sloupců
Jazyková lokalizace je jednodušeji a silněji podporována prohledáváním
slovníku podle textů popisných polí ve formulářích a titulků sloupců
v editačních tabulkách. WRO reporty a HTML části HP stránek mohou
obsahovat metasymbol @@VOC(nějaký text), který je
nahrazován buď slovníkovým ekvivalentem hodnoty nějaký text, anebo tímto
textem, nebyl-li ve slovníku nalezen.
FDX (Freelance Data Exchange) je nová služba řešící na obecné úrovni
problematiku transferů dat z různých zdrojů do různých cílů. Zdrojem můžou
být databáze, textové soubory a může jich být libovolné množství. Cílem může
být databáze, soubor, Freelance klient a též lze vytvářet jejich kombinace. FreelanceDeveloper
je vybaven editorem FDX transferů, který umožňuje práci s připravenými
šablonami pro základní typy reportů, tedy seznamy, formuláře a kontingenční
tabulky.
Rozšířená lokalizace v rámci platformy pro Microsoft JVM i Sun Java
Plugin, umožňující volbu fontů nespecifických pro verzi Java 1.1, např. Tahoma,
Verdana atd.
·
FastX
Programování: Nové X operátory:
xwebhp(string
hpFileAndParameters )
operátor vyvolá zpracování zadané HP stránky, případně
s parametry. Formát parametru hpFileAndParameters je
<jméno_stránky>.hp[¶metry…]. Operátor je obdobou nové direktivy <embed:…>, která slouží
k vnořování HP stránek v jejich HTML části.
HP
stránky: Nová direktiva <embed:hp_file_name.hp[¶metry…]>
direktiva se
používá v HTML části HP stránky, podobně jako třeba <xcall:…>.
Za dvojtečkou je potřeba uvést jméno stránky, případně doplněné o parametry oddělené ‘&’. Direktiva podporuje
strukturovanou tvorbu stránek, např. jednotným formátem hlaviček, patiček apod.
Příklad HTML části HP stránky:
<embed:header.hp>
<xcall:buildBody>
<embed:footer.hp>
XIF
výrazy (FDX a WRO), HP stránky: Nová direktiva @@FILE(<jméno
souboru>)
direktiva je
nahrazena obsahem souboru. Kořenový adresář je FCO doména, tedy
zpravidla c:\inetpub\wwwroot\ffs\<jméno aplikace>
XIF
výrazy (FDX a WRO), HP stránky: Nová direktiva @@VOC(<fráze>)
direktiva je
nahrazena ekvivalentem fráze nalezeným ve slovníku. Není-li nalezen ekvivalent,
výsledkem je samotná fráze.
The Second Edition
2002-03-25
Druhé vydání Freelance obsahuje mimo
jiné:
ü Optimalizovaný X runtime, zejména správa paměti, volání funkcí a
provádění X kódu
ü Rozšířené využití e-mailu a SMS (aplikace BusinessOnline)
ü Komprese přenášených dat a z toho plynoucí zrychlení práce
na pomalých sítích
ü Funkce pro kompresi dat
ü Nové pomůcky v aplikaci Freelance Developer pro automatizaci
vývojového procesu a ladění
FastX
2002-03-19
·
Freelance
Programování: Nové metody
Class cUniEval
public void setDecimals ( String editList,
int decimals ) nastaví pro čárkou oddělený seznam
editačních polí anebo sloupců maximální počet desetinných míst
2002-02-28
·
FastX
Programování: Nové X operátory:
xsqlquery( long
cursor, string sqlSelect, long & fetchStatus, … )
operátor spustí SQL SELECT příkaz sqlSelect. Poté
inicializuje FETCH buffery (jako xsqlinto) a provede FETCH (xsqlfetchnext).
Výsledek, případně kód
chyby zapíše do fetchStatus. Pokud je fetchStatus roven 0, znamená to, že byl načten řádek dat. Je-li
roven 1, žádná data nebyla nalezena. Ostatní hodnoty
znamenají kód chyby. Následují-li za fetchStatus další proměnné a
byla-li načtena data, operátor do těchto
proměnných zapíše hodnoty
sloupců přečteného řádku, podobně jako operátor xsqlgetdata, počínaje
prvním sloupcem SELECT příkazu.
xsqlgetdata( long
cursor, long fromColumn, … )
operátor umožňuje hromadné čtení dat z řádky získané pomocí
xsqlfetch*, zastupuje vícenásobné volání xsqlgetstr, xsqlgetlong resp.
xsqlgetdbl.
xsqlbinddata( long
cursor, long fromParameter, … )
operátor umožňuje hromadné vázání dat na parametry
zkompilovaného SQL příkazu. Zastupuje vícenásobné volání xsqlbindstr,
xsqlbindlong resp. xsqlbinddbl.
Tip: na jednodušší a
rychlejší přístup k datům:
long cur, fetch,
YEAR, MONTH
string errTxt, NAME, BIRTHDAY
double SALARY
try
xsqlconn( cur )
=( YEAR, 2000 )
=( MONTH, 1 )
xsqlprep( cur, ’SELECT
NAME, BIRTHDAY FROM USERS WHERE YEAR=:1 AND MONTH=:2 )
xsqlbinddata(
cur, 1, YEAR, MONTH )
/*
dříve
xsqlbindlong( cur, 1,
YEAR )
xsqlbindlong( cur, 2,
MONTH )
*/
xsqlinto(
cur, 1 )
xsqlexec( cur, 1, YEAR,
MONTH )
xsqlfetchnext( cur, fetch
)
while! ( fetch )
xsqlgetdata(
cur, 1, NAME, BIRTHDAY )
/* dříve
xsqlgetstr( cur, 1,
NAME )
xsqlgetstr( cur, 2,
BIRTHDAY )
*/
xsqlfetchnext(
cur, fetch )
end
xsqlquery( cur, ’SELECT SALARY FROM
SALARIES WHERE NAME=\’’ $ NAME $ ’\’, fetch, SALARY )
if ( fetch )
xwebout(’Salary not
found.‘)
end
while! ( fetch )
xwebout(’Salary...‘)
xsqlfetchnext( cur,
fetch ) /* next salary */
xsqlgetdata(
cur, 1, SALARY )
end
catch
xsqlerrorinfo( fetch,
errTxt )
end
xsqldisconn( cur )
·
Freelance
1. Programování: Nové metody
Class cUniEval
public static String user() vrátí jméno přihlášeného uživatele
public static String USER() vrátí jméno přihlášeného uživatele
převedené na velká písmena
public static String database() vrátí jméno přihlášené databáze
public static String DATABASE() vrátí jméno přihlášené databáze
převedené na velká písmena
2002-02-07
·
FastX
1. Důsledná kontrola
licence (CompressLink, SecureLink)
Dosavadní verze umožňovala
používat SecureLink i nelicencovaným subjektům.
2. Optimalizace správy
paměti v X runtime
Byla zmenšena režie nahrávání X modulů a snížena četnost
realokací paměti při operacích nad proměnnými typu string.
3. Možnost komprese dat
odesílaných serverem klientovi (verze CompressLink)
Implementace komprese
přenášených dat.
4. Optimalizace manipulace
s parametry FastX příkazu
Původní kapacita
interního bufferu operátoru xwebparam činila 4096B. Operátor byl
reimplementován a při snížení paměťových nároků je maximální délka hodnoty
parametru daná množstvím paměti OS.
5. Programování: Integrace ZLIB
knihovny a implementace funkcí pro kompresi/dekompresi:
zlib.dll je open-source
knihovna implementující funkce GNU-ZIP. FastX server tuto knihovnu integruje a
exportuje dvě funkce pro kompresi/ dekompresi bloku dat:
fastx.dll:
/*allocated*/
char * _export FGZIP( char *
src, /*IN*/
int
* size /*IN/OUT*/
);
funkce zkomprimuje blok dat src o délce *size. Alokuje potřebnou
paměť a zkomprimovaná data do ní zapíše. Do proměnné *size zapíše
velikost zkomprimovaných dat. Od běžné kompresní funkce se liší tím, že
zkomprimovaná data obsahují údaj o původní délce, tudíž není potřeba tento údaj
uchovávat zvlášť a opravou CRC.
Tip: Funkci FGZIP() lze použít i
pro komprimovaný přenos HTTP dat. V tom případě je potřeba zařadit do hlavičky
HTTP odpovědi položku Content-Encoding: gzip.
/*allocated*/
char * _export FGUNZIP( char
* FGZIPcompressedData, /*IN*/
int
* size /*IN/OUT*/
);
funkce dekomprimuje blok dat o délce *size vytvořený funkcí FGZIP.
Alokuje potřebnou
paměť a dekomprimovaná data do ní zapíše. Do proměnné *size zapíše velikost dat.
6. Programování: Podpora zpracování
souborů odesílaných HTTP protokolem
FastX nyní podporuje vzdálený zápis souborů.
Tip: HTML definuje způsob odesílaní
souborů po sítí pomocí značky <input type="file" >. Tato značka musí být součástí formuláře
deklarovaného <form enctype="multipart/form-data"
method="POST" action=...>. Soubor lze zpracovávat třeba v HP
stránce a to následujícím způsobem: je-li atribut action roven například "/ffs/fastx.dll?Task=app.form&Data=upload.hp",
lze jméno a obsah souboru získat následujícím X kódem:
long rm, sm,
size, ContentLength
string data, ContentType,
ContentTransferEncoding, ContentDisposition
xwebgetformupload(
size, data ) /* tento operátor načte
veškeré soubory do data */
/* data
můžete následně zpracovat funkcemi RECMAIL_* */
if ( size )
=( rm, RECMAIL_initData, data, size )
if! ( rm )
xret( 0 )
end
xstralloc( ContentType, 1024 ) /* alokovat buffery */
xstralloc( ContentTransferEncoding,
1024 )
xstralloc( ContentDisposition, 1024 )
=( sm, RECMAIL_first, rm )
/* souborů může být i několik, pro
každý z nich: */
while ( sm )
/* alokovat buffer pro data
souboru */
RECMAIL_content(sm,ContentType,ContentDisposition,ContentTransferEncoding,ContentLength)
xstralloc( data, ContentLength ) /* alokovat data pro data souboru
*/
RECMAIL_body( sm, data,
ContentLength ) /* načíst
soubor do data */
xstrchar=( data, ContentLength,
0 ) /* zakončit 0 (volitelné) */
=( fileName, RECMAIL_fileName,
sm ) /* zjistit jméno souboru */
if ( fileName )
/* zpracovat soubor */
end
=( sm, RECMAIL_next, rm, sm ) /* další
soubor...*/
end
RECMAIL_done( rm ) /* konec */
end
7. Programování: Nové X operátory:
xsqlgetprimarykey( long cursor, string tableName, string primaryKey ) operátor zapíše do primaryKey primární klíč tabulky tableName.
xwebformupload( long size, string data ) operátor přečte do data
obsah HTML formuláře (všechny parametry a připojené soubory)
xloadfilebin(string data, long size, string fileName ) operátor přečte do data obsah souboru fileName.
Proměnná size obsahuje velikost přečtených dat.
Nové XIF operátory pro
manipulaci s binárními daty
xifbin( long
xif, string data, long size ) operátor přečte do data
obsah XIF položky xif. Proměnná size obsahuje velikost přečtených
dat.
xifbin=( long xif,
string data, long size ) operátor zapíše do XIF položky xif obsah binární proměnné
data. Proměnná size obsahuje velikost zapisovaných dat.
xifbinbyname( string xif, string data, long size ) operátor přečte do data obsah XIF položky xif identifikované
jménem. Proměnná size obsahuje velikost přečtených dat.
xifbinbyname=( string xif, string data, long size ) operátor zapíše do XIF položky xif identifikované jménem
obsah binární proměnné data. Proměnná size obsahuje velikost
zapisovaných dat.
·
Freelance
1. Zlepšení vzhledu a
ovládání
Editační formuláře a ovládací prvky mají jemnější vzhled. Nyní
je snadnější otevírat nabídky hodnot kliknutím na pravý horní roh. Tip: Klepnutí pravým tlačítkem myši do
editačního pole otevře menu Kopírovat/Vložit.
2. Zlepšený tisk editačních
tabulek
Data jsou zformátována do HTML tabulky, což je přehlednější, než
stávající řešení.
Tip: Při kliknutí na název výstupu se
spustí Microsoft Excel a data jsou do něj automaticky přenesena.
3. Oprava validace
editačních polí
Pokud byla zadána prázdná anebo chybná hodnota, pole svázaná SQL
relací nebyla aktualizována.
4. Programování: Nové metody
Class cApplet
Přístup k
parametrům:
(ekvivalenty X operátoru xparameter(...), xdbparameter(...) )
public String getParamText( String namePath )
přečte hodnotu
jmenovaného parametru aplikace jako String
public long getParamLong( String namePath ) přečte
hodnotu jmenovaného parametru aplikace jako long
public double getParamDouble( String namePath )přečte hodnotu
jmenovaného parametru aplikace jako double
public String getDBParamText( String namePath ) přečte hodnotu
jmenovaného parametru aplikace jako String
public long getDBParamLong( String namePath ) přečte hodnotu jmenovaného parametru aplikace jako long
public double getDBParamDouble( String namePath )přečte hodnotu
jmenovaného parametru aplikace jako double
HP a WRO:
public void hpIn( String params, String inWindow ) otevře HP stránku v
pojmenovaném okně prohlížeče
public void wroIn( String params, String inWindow ) otevře WRO report v
pojmenovaném okně prohlížeče
public static boolean strInList( String list, String s, String del )
zjistí, zda v seznamu list odděleném řetězcem del existuje
řetězec s.
public void openFastXDocumentIn( String task, String params, String inWindow
) vyvolá FastX task s parametry params a výsledek přesměruje
do pojmenovaného okna prohlížeče inWindow
public void openFastXDocument( String task, String params ) vyvolá FastX
task s parametry params a výsledek přesměruje do nového okna
prohlížeče
Class cBrowse
public cForm prepareToolbar(
int height ) se používá v
WTX browsech. Vytvoří v horní části toolbar s výškou height, do
kterého lze vkládat ovládací prvky. Vrací odkaz na formulář, ve kterém je
browse vnořen a do nějž lze ovládací prvky vložit.
public void editColumn() spustí editační režim u prvního editovatelého
sloupce. Používá se typicky po addRow().
public void refreshWithContext() aktualizuje data a
nastaví kontext (řádku a sloupec) na původní pozici.
public void setDefault( String colName, String value ) nastaví implicitní hodnotu sloupce.
Class cDesktop
public void enableMenu( int id, boolean
bEnable ) povolí/ zakáže menu s akcí id.
public cForm getFormInsensitive( String name) najde formulář jménem name
bez ohledu na velká/malá písmena.
Class cEdit
public boolean evalRelationSilent() slouží k 'tiché' validaci SQL relace. Pokud selže, svázaná pole jsou vyprázdněna a nejsou zobrazena žádná
hlášení.
public void
setSelectOptionsFromSQL( String select2cols ) vyvolá SQL SELECT příkaz
a na jeho základě sestaví výběrové menu editačního pole. SELECT musí vybírat
právě dva sloupce, první je použit pro titulky menu a druhý pro datové hodnoty.
Class cForm
public void modify() funkce označí formulář jako
modifikovaný (souvisí s ukládáním dat).
public cForm prepareToolbar( int
height )
Class cRequester
public String fastxNoCompressed( String req,
String params ) spustí FastX příkaz a potlačí
kompresi výsledných dat (je-li aktuálně zapnuta). Hodí se při volání příkazů s
krátkými výslednými daty, čímž snižuje režii FastX serveru.
Class cSql
public int[]
SqlGetLengths( String select ) zjistí šířku dat sloupců v SELECT příkazu.
Class cUniEval
public void
setEnabledList( boolean bSet, String nameList ) hromadně povolí/ zakáže editaci ovládacích
prvků anebo sloupců vyjmenovaných v seznamu nameList. Jména musí být
oddělena čárkami.
public void setEnabledAll( boolean bSet, String nameLike, String nameNotLike
) hromadně povolí/ zakáže editaci ovládacích prvků
začínajících textem nameLike
a nezačínajícími textem nameNotLike.
5. Programování: Nové metasymboly
Nové metasymboly ve WRO reportech, HTML zdrojích HP stránek a
SELECT příkazech WTX a WFX:
@@NULL(<hodnota>) je nahrazen hodnotou. Je-li hodnota
prázdná, je nahrazen textem NULL.
@@STRNULL(<hodnota
>) je nahrazen hodnotou v
apostrofech. Je-li hodnota prázdná, je nahrazen
textem NULL.
2001-11-01
·
Freelance: automatické formátování desetinných čísel při zobrazení
v editační tabulce a poli
·
Freelance: Nová metoda <cUniEval>.checkFormSaved().
·
Freelance: oprava chování víceřádkových textových polí (odezva na
backspace)
2001-10-16
·
Freelance: Nová komponenta, typ MX, jméno MultiCheckBox,
class freelance.plus.controls.cMultiCheck. Jedná se o programovatelnou
sadu zaškrtávacích polí s možností dynamicky měnit obsah, vzhled a počet
políček.
·
FastX: přesnější výpočet délky numerických datových sloupců
·
FeDeveloper: FileMaster podporuje mazání souborů
2001-10-07
·
Freelance: Zásadní změna architektury editačních formulářů,
otevřený systém komponent. Komponenta je zapouzdřená definice
ovládacího prvku s definovaným souborem vlastností a Java třídou, která jej
implementuje. Komponenta je z definice implementačně nezávislá, tudíž
přenositelná mezi jednotlivými formuláři, případně i aplikacemi i instalacemi.
·
FeDeveloper: ComponentBrowser je nástroj k editaci
stávajících a vytváření nových komponent.
·
X runtime: nové operátory
xwebparamlong(>long<, string paramName ) a xwebparamdouble(>double<,
string paramName ) přečtou hodnotu parametru
jako long resp. double.
2001-09-25
·
FeDeveloper: TableMaster automaticky vytváří WTX
šablony včetně relací na jiné tabulky a nabídek.
·
Freelance: Nové metody cUniEval.parDouble() a cUniEval.parList()
·
FeDeveloper: X debugger disponuje velmi komfortním
výběrem X modulů k ladění a běžících aplikací.
·
Freelance: kosmetické úpravy ve vzhledu edit. polí, tabulek. Jsou
ještě krásnějsí...
·
FeDeveloper: FormMaster/Prohlížení zobrazuje i ovládací
prvky typu CustomControl
·
Freelance: změna v edit. tabulkách (lze hromadně mazat řádky)
·
Freelance: Nová metoda <cUniEval>.getBrowse()
2001-09-18
·
Freelance: Nový interface iEditNotification. Spolu s novými
metodami <cControl>.setEditNotification() a
<cControl>.editNotify() implementuje
konzistentní interface pro okamžité zachytávání uživatelských akcí a změn
hodnot ovl. prvků.
·
FeDeveloper: FormMaster korektně pracuje s rámečky; zvýrazňuje
vybraný rámeček, který lze i odebrat.
·
FeDeveloper: DirectSQL poskytuje podrobnější popis chyby SQL
příkazu.
·
Freelance: změna konverze string->double; větší volnost v
zadávání numerických hodnot do editačních polí/sloupců. Tolerována je záměna
desetinné tečky a čárky a mezery uvnitř čísla.
·
Freelance: změna konverze double->string. Původní,
javovská konvertovala čísla menší než 0.001 anebo větší než
10 000 000 na exponenciální zápis.
2001-09-10
·
FastX: public X libraries - sdílené knihovny funkcí. Představují
nejrychlejší a a paměťově nejméně náročnou variantu sdílení programového kódu.
Definují se v položce FeDeveloper|FastX Manager|System|X runtime|X libraries
jako čárkami oddělený seznam jmen X knihoven (bez koncovky xl). Kořenový
adresář je c:\fastx\common\x\xl.
·
FeDeveloper: FormMaster: lze editovat i
vnořené tabulky. Je potřeba je explicitně ukládat.
·
FeDeveloper: FormMaster: nová funkce Prohlížení
formulářů, ukazuje formulář v runtime modu.
·
Freelance: Nový ovládací prvek freelance.plus.controls.cCalendar
- kalendář.
2001-09-07
·
FeDeveloper: FormMaster:
Choice(ComboBox) a ListBox mají novou vlastnost: implicitní seznam hodnot.
Freelance těmito hodnota automaticky seznamy a komba inicializuje.
·
FeDeveloper: jména validátorů ve vlastnostech formulářů, edit.
tabulek a appletů lze zadávat bez jména aplikace - Freelance jej
implicitně doplní jménem běžící aplikace.
·
FeDeveloper: parametry Java kompilátoru jsou nyní v parametru javacopt
aplikace fdev.
·
Freelance: Nový parametr apletu: AUTOLOGIN. Je-li roven Y
a zároveň jsou zadány ostatní parametry přihlášení (DB,US,PWD),
Freelance se automaticky přihlásí k databázi.
·
Freelance: Nové užitečné metody cUniEval.setLimitsBySqlQuery(),cUniEval.setLimitsBySql(). Implementují automatické omezení editačních délek podle délek
SQL sloupců.
·
FeDeveloper: změna parametrů aplikace/ vytvoření nové má
okamžitý efekt.
Varování:
při této akci jsou reinicializovány všechny X knihovny a preloaded X moduly.
Použití této vlastnosti za běžného provozu může mít nepředvídatelné následky.
Důrazně doporučujeme odhlásit uživatele ze systému a změny provést až poté.
2001-09-03
·
Freelance: možnost automatického nastavení maximální edit.
délky polí ve WFX formuláři (FeDeveloper|FormMaster|Vlastnosti|Automaticky
omezit délku podle SQL)
·
Freelance: možnost explicitního nastavení maximální edit.
délky polí (FeDeveloper|FormMaster|Vlastnosti
edit. pole)
2001-08-31
·
Freelance: odchod klávesou Esc anebo tlačítkem Storno z uživatelsky
editovaného formuláře otevře dialog s dotazem na uložení změn. Tato volba
je implicitně aktivní a lze ji ovlivnit ve vlastnostech šablony formuláře
(FeDeveloper/FormMaster)
·
Freelance: Nové metody <cResourceInterpreter>.modifyControl() /*nastavení příznaku editace
ovl. prvku */
a <cResourceInterpreter>.repaintControl() /*překreslení ovl. prvku */.
·
·
Freelance: Nová metoda <cControl>.modify() /*nastavení příznaku editace ovl. prvku */.
·
Freelance: Nová proměnná <cControl>.checkModify /* implicitně=true; pokud=false,
editace ovl. prvku nesignalizuje stav editace formuláři a storno nevyvolá dotaz
na uložení změn */.
·
Freelance: Nová proměnná <cForm>.checkModifyOnCancel /* implicitně=true; pokud=false,
editace žádného ovl. prvku nesignalizuje stav editace formuláři a storno nevyvolá dotaz na uložení změn.
Tuto proměnnou také ovlivňuje příznak ve vlastnostech formuláře
(FeDeveloper/FormMaster)*/.
·
FeDeveloper: Hledání a nahrazování v editorech je nyní plně kontextové
(začíná na pozici kurzoru a také z ní přečte slovo a nabídne jej jako hledaný
výraz).
·
FeDeveloper: CodeMaster For Java má nyní dvě podoby Assist (F2)
a Search (F3). Assist podporuje tvorbu validátoru,
zatímco Search kontextově vypíše informace o proměnné/ třídě, na které leží
editační kurzor.
·
FastX: X libraries - sdílené knihovny funkcí nyní i pro jednotlivé
aplikace (<appname>|Xlibraries). Konfigurují se App Masterem. XMaster má
nové menu X knihovny... Předchozí verze podporovala pouze deklaraci systémových
knihoven sdílených všemi aplikacemi ( init.ad / Xlibraries ).
2001-08-28
·
Freelance: Metody cUniEval.par(), <cUniEval>.ctlPar() a cApplet.par(). Slouží k jednoduchému a
přehlednému předávání parametrů při volání FastX příkazů (hp stránky, reporty,
ostatní FastX dokumenty).
·
Freelance: Metoda <cApplet>.hpIn() a <cApplet>.wroIn().
Otevírá hp/wro dokument v zadaném okně browseru.
·
Freelance: Metoda <cApplet>.openFastXDocumentIn(). Otevírá FastX
dokument v zadaném okně browseru.
·
FeDeveloper: CodeMaster for X/Java. Pomocník pro orientaci ve
zdrojových textech. Volá se F2 nad okny XMaster/ JMaster.
·
FastX: X libraries - sdílené knihovny funkcí. Představují
nejrychlejší a a paměťově nejméně náročnou variantu sdílení programového kódu.
Zatím pouze systémová, nedokumentovaná varianta.
·
FastX: X runtime: zrychlení běhu o 7-9%, zrychlení linkování
DLL funkcí, zmenšení modulů linkujících DLL funkce.