Clarion Unicode – beta refresh (14438)

Clarion · Unicode Preview · Beta Refresh

Refresh build 14438 — a leaner report previewer, a debug-output pad in the IDE, Sort Tables on the DCT toolbar, and ClarionCL imports a TXA into your app

The report previewer’s toolbar is one pages-layout button plus first / previous / next / last paging buttons, with find arrows you recognise. The IDE gets a DebugViewer pad for the OutputDebugString stream and an Errors pad that always shows the whole build. The Dictionary Editor sorts its tables from the toolbar and the Dictionary menu. ClarionCL /aim merges a TXA into an existing application without the IDE, and formulas that call your own functions pass the editor, the TXA and Copy Procedure. Every ENTRY paints the same whichever engine draws it, a 4-digit year typed into @D1 lands on the right day, a picture on a Unicode report prints to PDF, and a browse over wide SQL tables keeps its place. Already testing? Everything below is new since build 14407.

IDE DebugViewer pad · Errors pad always on · Sort Tables on the DCT toolbar · Window Preview shows every LIST column Report previewer one layout button · VCR paging buttons · first / last in the sidebar AppGen ClarionCL /aim · formulas calling app functions · Help file taken as typed Entry controls blank date paints blank · @D1 with a 4-digit year · wide entry = classic face Reports pictures on a Unicode report to PDF · Image 2 PDF builds wide From the forums SELECT(0) reports itself · 2,048-byte view positions · FILE:QueueW one Attrib · Position pane in AT() order

Highlights of this drop — then the full tester guide, whose “What’s new” section lists everything that changed since you last read it.

▸

Report previewer: a leaner toolbar that pages the way you expect

The Across and Down spins are one button that reads “1 Page” or “3 x 2” and opens a popup (Alt+L) with Across 1–6 and Down 1–4; View › Change Display keeps the full range. Four VCR buttons follow the Page spin: first, previous, next and last page, greyed at either end, and the layout button closes the row after Zoom. The Find bar’s previous / next are the up and down arrows you know from Notepad and VS Code, and the thumbnail sidebar’s top row has first-page and last-page buttons beside the chevrons. For a derived class: Ctl.PageFirst / PagePrev / PageNext / PageLast. From beta reports.

≡

The IDE: a debug-output pad, and an Errors pad that shows the whole build

Tools › Show DebugViewer opens a pad that captures the Windows debug output stream: everything an application writes with OutputDebugString, the driver’s DEBUG: trace target and the runtime’s own notes. Capture starts when you press its start button, and while it is on it owns the stream the way DebugView does. The Errors pad lists every diagnostic of the build with the Errors / Warnings / Messages counts on their buttons; a Build that finds the project up to date says so in the list, so “0 warnings” always means what it says (use Rebuild to see a compile’s warnings again).

▤

Dictionary Editor: Sort Tables one click away

The DCT Explorer toolbar has a Sort Tables dropdown in the table group, between Delete and Browse Table: Alphabetical, Last Modified Date, Creation Date, the current order checked. Picking another re-sorts the explorer and the Data/Tables pad on the spot; the same three items are on the Dictionary menu, and the Options page keeps working as before. Last Modified order is stable while you browse: a table’s modified date moves only when you change the table. From a beta request.

/

AppGen: ClarionCL /aim, formulas that call your functions, the Help file as typed

ClarionCL /aim myapp.app newproc.txa does what the Application menu’s Import Text does, headless: the app is opened, the TXA merged (procedures of the same name replaced, everything else kept), the app saved; /ai still creates a new app. A formula such as LookupName(STU:FirstName) or GetTag(), calling a Source procedure declared as a function, passes the Formula editor’s check, survives TXA export and import and comes through Copy Procedure intact. The Global Properties Help file entry stores exactly what you type: blank stays blank, MyHelp stays MyHelp, no extension is forced. From beta reports.

@

Entry controls paint the same whichever engine draws them

A blank unmasked ENTRY(@D6) or ENTRY(@T1) shows an empty box again, as in Clarion 11; a MASKed entry with a zero fill keeps its 00/00/0000. A 4-digit year typed into a 2-digit-year picture lands on the right day: 07042026 into ENTRY(@D1) is July 4th 2026, the parts guessed in the picture’s own order. An ENTRY over a LONG, DATE, TIME or STRING always takes the classic editor, and a USTRING entry through a numeric, date or time picture looks exactly like the STRING entry beside it (@n_6 with blanks, 09:00 with its leading zero). From beta reports: fixed now.

▣

Window Designer: Position in AT() order, and a preview that shows every column

The Position pane’s AT rows read X, Y, Width, Height, the order of AT(), GETPOSITION() and SETPOSITION(), for the window, every control and the Report Designer. Window Preview shows every LIST column: a FORMAT with #n# field numbers previews each column with its own sample, a default tip Q''text'' no longer stops the sample queue, and the shipped sample colours are real colours, so no row paints black on black. A source file whose @C picture has blanks inside the separator opens in the designer as it compiles. From beta reports.

P

Report to PDF: pictures on a Unicode report, and the Image 2 PDF library builds wide

An IMAGE on a Unicode report reaches the stock PDF target as a full-colour 32-bit page image and is written as RGB, the same as a plain report’s picture: PNG, BMP and JPG all print to PDF as they do on paper. The I2PDFReportGenerator class carries both report-generator interfaces, IReportGenerator and IReportGeneratorW, so an application on the Image 2 PDF library builds with Unicode reports on, whichever PDF library the Report to PDF extension selects. From beta reports: fixed now.

0

From the forums: SELECT(0) reports itself, 2,048-byte view positions, one Attrib

An explicit SELECT(0) still starts Accept-All as it always did and now writes one line to the debug output stream naming the call (the DebugViewer pad shows it); the compiler warns (507) when SELECT gets a string argument, the SELECT(State) slip where SELECT(?State) was meant. Nothing already compiled changes; the detection comes first so the field can show how often a deliberate zero exists. A browse over wide SQL tables keeps its place: every view and file position buffer in both template chains and the ABC classes is 2,048 bytes, so a view over tables with several hundred fields no longer meets error 78 (regenerate to pick it up). FILE:QueueW has a single Attrib LONG; test it with BAND(FILEW:Attrib, ff_:DIRECTORY).

Full tester guide — mental model, conversion rules, DCT import table, screen controls, reports, blobs, SQL / SQLite / text drivers / TopSpeedW / Memory / IP, recipes, the new-language-surface quick reference, and what to focus on when testing. The guide’s “What’s new” section lists everything in this drop, and every section has its task topic in the F1 help’s “How do I …” chapter.

Open the full Unicode Tester Guide

Report tool authors — the wide generator surface (IReportGeneratorW), format detection, the EMF record set, transition paths per integration style, and the PageTextIndexClass text index the previewer searches with:

EMF Page Files — Transition Note

Standalone pages (best full-width). Everything described there is implemented unless marked as a known limitation — if you see something different, the beta forum is the place.

Leave a Reply