?? release.txt
字號:
EIKTOOLS\125 E32TOOLS\094 E32TOOLP\093 RCOMP\314
This is a 'modern' version of OPLR using VC5, makmake etc to be used as a
baseline narrow build for the first Unicode build next month.
No defects fixed; the only source changes are to allow a clean build with
VC5. Also made changes to the build system to support ebld & makmake. And
made the following reorg (prefer one mmp per subdirectory):
App -> Opl which generates Opl.app etc.
Recog -> Recopl generating Recopl.rdl
SDeb -> TDebug containing TDebug.opl, TDebug.mmp etc
SOpx2 -> Opxbmp with opxbmp.mmp generating Bmp.opx
SOpx3 -> Opxdate
Opxdbase
Opxsys
SOpx5 -> Opxprn
TOpxprn
Finally, following the arrival of OPLTRAN, all OPL source is now stored as
ASCII instead of both ASCII and EPOC-native format (allowing difsrc to
highlight any OPL code changes etc).
Note: No marm debug releasables (waiting for Eikon to resume marmd rels).
Still to-do:
* Fix \tharn1\pnewfont (OPL test suite code) which hasn't worked since at
least 048, and possibly earlier.
* Generally optimise the OPL test code to reduce the release effort.
* Tidy up the release procedure following the switch to the new tools.
OPLR 049
--------
(Released by Rick - 11/7/98)
(Re-released by Rick - 14/7/98 as toolbar.opo missing. Also ensured WOPXSDDB complete.)
Uses: as 048, but with Apparc 086 for MRU changes.
1) Fixed defect SW1-794 (S5 Software Problems db) "File selector in System
directory" where hitting Tab in a file selector that's using System can
kern-exec 3.
2) Added CApaRecentFile::AddLastUsedEntry() call to the SETDOC keyword.
This updates the Most recently used (MRU) list. And fixes Defect SW1-252
in (ER3) Defects db.
3) Fixed Date.OPX where the incorrect month was used to check the day range
limit for a new date/time object. See defect SW1-481 in (ER3) Defects
db.
Plus the following that were in the tip but missed the 048 release:
4) S5 Software Problems: SW1-373 "Panic switching clock format with low
memory".
5) S5 Software Problems: SW1-397 "Panic 23 using FIND with greater than 16
fields".
6) S5 Software Problems: SW1-545 "dFILE with UID restriction doesn't
restrict the list in the initial folder".
7) S5 Software Problems: SW1-779 "Incorrect comment in CONST.OPH"
v0.48
-----
(Released by Howard - 11/7/97)
Uses: Platform 001
For ROM 125
1) MNT GETREL gets OPL freeze files into \epoc32\release\wins輒arm
2) Random number seed now stored as TInt64 rather than TUint32 as
required by Math::FRand().
3) Randomize now sets both the high and low parts of the TInt64 with
the seed - this prevents RANDOMIZE always producing a very small
number like 1e-5 when passed a small argument such as 1 to 100.
4) BEEP volume now follows system settings: quiet, loud, off
Used to beep loudly always.
5) gXPRINT used to leave 1 pixel border around the text when existing
text was XORed.
6) SYSTEM.OPX (SYSTEM.OXH) has new function
IsExternalPowerPresent&: : 78
Returns -1 if external power is present and otherwise 0.
7) Test OPX PRNTST.OPX uid changed. It used to clash with a system
component.
v0.47
-----
(Released by Howard - 2/6/97)
Uses: Platform 001
For ROM 106
1) dEDITMULTI now raises error if negative (or uninitialised) length
passed. Used to panic.
2) PRINT chr$(7) beeps using CEikonEnv::Beep() rather than
User::Beep().
3) Database documents weren't being saved properly and so weren't
recognised. Wrong test of CompareF() was used.
+ 1408 | if (rt->CurrentDocumentName().CompareF(aDbaseName)==0)
- 1408 | if (rt->CurrentDocumentName().CompareF(aDbaseName))
4) The system.opx standard dialog procedures:
OpenFileDialog$:(SeedFile$,Uid1&,Uid2&,Uid3&) : 75
CreateFileDialog$:(SeedPath$) : 76
SaveAsFileDialog$:(SeedPath$,BYREF UseNewFile%) : 77
now parse the filename to ensure there is a drive. Raise the error if any.
5) System.oxh now has required:
SaveAsFileDialog$:(SeedPath$,BYREF UseNewFile%) : 77
Was incorrectly specifying UseNewFile&
v0.46
-----
(Released by Howard - 28/5/97)
Uses: Platform 001
For ROM 102
NB!!! Rom builders note: New samples.prj file released (required by TBARAPP):
- z:\System\Opl\SkelOpl.mbm
1) OPX*.FRZ and OPX*.DEF removed from INCC.PRJ
2) OPL.MAP added to AEMARM*.PRJ and RECOPL.MAP added to REMARM*.PRJ
3) TBARAPP now has a proper ICON - SKELOPL.MBM
4) ALERT wasn't cancelling outstanding Wserv event, causing panic
5) System.opx additions:
- SetPointerCapture:(winId&, flags&) :73
- ClaimPointerGrab:(winId&, state&) :74
- OpenFileDialog$:(SeedFile$,Uid1&,Uid2&,Uid3&) : 75
- CreateFileDialog$:(SeedPath$) : 76
- SaveAsFileDialog$:(SeedPath$,BYREF UseNewFile%) : 77
6) PRNTST test OPX had the wrong Uid3 set
7) OplAPI::NotifyActiveSchedulerStopped() added. Must be called
by an OPX after it has stopped - to redraw cursors and to flush any
events that occurred while scheduler was running
8) SetDoc no longer collates - that was the wrong thing to do.
9) CREATE no longer collates - compares folded filename instead.
9) Tbarapp no handles switch files and exit message.
10) Demo handles exit message.
v0.45
-----
For ROM 100
(Released by Howard 22/5/97)
1) Was getting a non-word aligned word directly. Now uses GetLong()
2) gPrintClip wasn't positioning cursor correctly.
3) ROM directory tidied a little.
4) MNT gets Shell properly.
v0.44
-----
Bad release - non-word boundary addressing for CProcDef loading.
(Released by Howard 21/5/97)
Uses: Platform versions except:
- PDRSTORE 062 for fix to CPdrGc::DrawText().
1) Added link map file (.MAP) to:
EMARM.PRJ,EMARMD.PRJ,MOPXS.PRJ,MOPXSD.PRJ
2) INC directory no longer has OPX[D].FRZ軩EF. OPLR released OPXs use:
- \OPLR\BMARM\OPX.FRZ in ARM.CMD's EIKARM line
- \OPLR\BWINS\OPX.DEF in WINS Release Build settings
- \OPLR\BWINS\OPXD.DEF in WINS Debug Build settings
3) Added to const.oph: const KStatusPending32&=&80000001
To be used with IOWAITSTAT32 and for comparison with 32-bit status word
used e.g. for asynchronous sound file playback.
4) Test code moved to \oplr\tharn1\ (*.OPL are text, *. are for
Opler1 Program editor):
- POPXDATE Date.opx/.oxh
- POPXDBAS Dbase.opx
- POPXPRNT Printer.opx
- POPXSYS System.opx except IrDA
- POPXIRRV System.opx IrDA receive
- POPXIRSD System.opx IrDA send
- POPXBMP Bmp.opx bitmap handling
- POPXSPR Bmp.opx sprite handling
5) Added to System.oxh:
MainBatteryStatus&: :69
BackupBatteryStatus&: :70
CaptureKey&:(keyCode&, mask&, modifier&) :71
CancelCaptureKey:(handle&) :72
const KBatteryZero&=0
const KBatteryVeryLow&=1
const KBatteryLow&=2
const KBatteryGood&=3
rem For MediaType&:
const KMediaNotPresent&=0
const KMediaUnknown&=1
const KMediaFloppy&=2
const KMediaHardDisk&=3
const KMediaCdRom&=4
const KMediaRam&=5
const KMediaFlash&=6
const KMediaRom&=7
const KMediaRemote&=8
rem For IrDA protocols
const KIrmux$="Irmux"
const KIrTinyTP$="IrTinyTP"
rem For CaptureKey&:
const KModifierAutorepeatable&=&00000001
const KModifierKeypad&=&00000002
const KModifierLeftAlt&=&00000004
const KModifierRightAlt&=&00000008
const KModifierAlt&=&00000010
const KModifierLeftCtrl&=&00000020
const KModifierRightCtrl&=&00000040
const KModifierCtrl&=&00000080
const KModifierLeftShift&=&00000100
const KModifierRightShift&=&00000200
const KModifierShift&=&00000400
const KModifierLeftFunc&=&00000800
const KModifierRightFunc&=&00001000
const KModifierFunc&=&00002000
const KModifierCapsLock&=&00004000
const KModifierNumLock&=&00008000
const KModifierScrollLock&=&00010000
const KModifierKeyUp&=&00020000
const KModifierSpecial&=&00040000
const KModifierDoubleClick&=&00080000
const KModifierPureKeycode&=&00100000
const KAllModifiers&=&001fffff
and fixed the following System.opx bugs:
- CheckUid$:(Uid1&,Uid2&,Uid3&) : 47 replaces panicking UidCheckSum&: replaced by
- GetNextWindowGroupName$:(threadId&,BYREF previous&) : 59 didn't have BYREF arg
- IrDAConnectToSend&: and IrDACOnnectToReceive&: now need protocol
name to be passed. The following CONSTs declared in System.oxh:
const KIrTinyTP$="IrTinyTP"
const KIrmux$="Irmux"
KIrTinyTP beams to another Opler1
KIrmux$ beams to an IrDA printer New prototypes:
IrDAConnectToSend&:(protocol$, port&) : 62
IrDAConnectToReceive:(protocol$, port&, BYREF statusW&) : 63
- Sound now cancelled on destruction
- Waits for sound thread to exit before unloading module
+ 550 | TRequestStatus tr;
+ 551 | iThread.Logon(tr);
544 552 | iThread.RequestComplete(iCancel,KErrNone);
+ 553 | User::WaitForRequest(tr);
- TMachineInfoV1 wasn't being set for:
IsBacklightPresent
MachineName
MachineUniqueId
6) Added to DATE.OXH:
LCThousandsSeparator$: : 36
7) tharn1\PGET LI now gets all test code:
Was missing Ben's tests for:
- runtime dbase
- SYSTEM.OPX
- DBASE.OPX
- DATE.OPX
- IrDA tests
8) THARN1 was not getting VERSRC'd as noticed by Duncan.
9) Optimised module loading and procedure calling for speed.
LOADM with of 7 modules each with 100 procs is now about 20 times
faster.
10) Optimised 1st loading of procedure for speed.
11) Optimised global name storage mechanism
12) Tidied up and fixed some problems with PRINTER.
13) Pause/resume keys Ctrl+Fn+S/Q weren't working on PC with recent
mapping of Alt to Fn.
14) SecsToDate fixed to handle full range of unsigned long int secs
15) Unloading a font that isn't loaded now raises an argument error (-2)
16) Removed general OPX test procs from BMP.TXH/BMP.OPH
17) PRINTER.OPX code tidied and integrated. See Printer.oxh for
details.
- Added: SendBufferToPrinter:(ADDR&) : 32
- Changed: InsertBitmap:(bitmapHandle&, pos&) : 22
from
InsertBitmap:(pos&, bitmapHandle&) : 22
- Changed: InsertScaledBitmap:(bitmapHandle&, pos&, xScale&, yScale&) : 24
from
InsertScaledBitmap:(pos&, bitmapHandle&, xScale&, yScale&) : 24
18) Const.oph definitions:
- KDecember% instead of EDecember%
- KStatusPending32&=&80000001
19) Sample Tbarapp:
Still todo:
- Good icon
- FLAGS=1 to be properly file-based
Done:
- Caption changed to SkelOpl (for skeleton OPL app)
- Now uses a reserved UID and gives the following warning:
rem !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
rem !!! IMPORTANT W A R N I N G !!!
rem !!! The following UID has been reserved for the Skeleton app !!!
rem !!! Don't use it for your own app - it will cause serious problems !!!
rem !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
rem The UID and name defined here must be changed to your own official UID
rem before use in your own application.
rem Not changing it will result in incorrect identification of your application
rem and of its documents by the System screen and by other system components.
rem Each application requires its own unique identifier (UID) - contact Symbian
rem to reserve a set of UIDs for use in your applications.
rem Official UIDs have values greater than &10000000
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -