[!] - renamed csource to extsrc, since it contains not only C sources anymore - renamed network to netdrive main.VersionDate now uses '.' instead of '-' [+] added stringsx.GetPrintableBuffer() [!] Reworked the debug defines in stdefine: DBG was removed and replaced with DEBUG, added OS specific DEBUG_<TARGET> defines; also added DEBUG define to makefile.dos added debug.DebugLogWithTime() [!] Updated the NDN make and package (batch) files -> !compall.bat: NDN archives contain the exact version number -> #MK.BAT: OBJ/BIN directories will created if not existing -> renamed all the package files in cfg\ and tools\ (#*.*) CONFIGURATION FILES NDN.HGL: improved the highlight file detection of windows like ini files NDN.EXT/DW32: added *make*[], obj[], lib[] and exe[] sections NDN.EXT/DW32: improved the asm[], c,cpp[] and pas[] sections [!] Replaced the NECROMANCER define in ndn.vpo with simply NDN Desktop file version handling changes: - moved local dnutil.wDskVersion to public startup.wDskVersion - the desktop file version number is now target specific - added version file constants - added the possibility to load "incompatible" desktop files if the incompatibility was fixed in code -> added startup.DskVersionCompatibilityList, used in dnutil.TDNApplication.RetrieveDesktop() W32/D32/LNX/OS2/VIRTUAL PASCAL COMPATIBILITIES: [+] added a C-Interface library (cintfc); added to objects unit the VP RTL DOS unit now has better TP/BP DPMI32 compatibility: - readded Registers, Intr(), MsDos(), GetIntVec(), SetIntVec(), Ptr(); this made porting the TCP/IP library 'tppktip' (Klaus Hartnegg) much easier - changed all source code references (esp. Ptr()) - removed code from dpmi32, dpmi32df, removed the unit dpmi - added first Go32 (FPC) compatibility to dpmi32; this allowed porting ipstack (for FPC by Diego De Marco) to VP [+] Added (D|W|Long)Word / (U)Int(8|16|32|64) types to system.pas TURBOVISION: VIEWS/DIALOGS/MENUS/OBJECTS/MESSAGES Move/Resize & Statusline always showed "F5 Resize" even if no resize possible (Slavik) -> renamed all English\ndn.dnr."5Resize" to "5ResMov" [-] OS error output (red dialogs) now correctly show russian characters [A] {G} -> drivers5.SystemError().PrepareErrorData() converts the error string [+] collect.TStringCollection now supports case sensitive and insensitive strings -> added collect.TStringCollection.CaseInsensitive|Init() and replaced the assembler code in function collect.TStringCollection.Compare() with stringsx.PasStrCmp() [+] collect.TUnSortedStrCollection used TSortedCollection.Search() which only works for sorted lists -> added TUnSortedStrCollection.(Search|SearchA)() [-] Fixed possible crashes on nil strings -> drivers.MoveCStr() and drivers3.CStrLen() VIRTUAL FILE SYSTEMS (VFS) [-] FTP: command sockets were shutdown but not closed [A] -> added closesocket() to vfs_ftp.TFTPConnected.(ConnectToFTP|Disconnect)() [+] FTP/D32: first DOS (N)DN ever with FTP support -> added TCP/IP Stack by Diego De Marco, heavily modified and updated for NDN and BSD socket compatibility (extsrc\ipstack): Sabretooth IP Stack (STIPS) -> the desktop version has changed, but old desktop files should remain usable: filescol.LoadFileRec() checks for the desktop version FTP: cleaned up the source, several corrections and updates (list is incomplete...) vfs_ftp: - removed usage of public os specfic BSD incompatible stuff (WSA*) - Rearranged commands that need to open data connections: AcceptDataCon() - Added "Quit" if connected but login failed -> TFTPConnected.ConnectToFTP() calls QuitSession() - Failed connections checked the command socket for 0 instead of INVALID_SOCKET - D32: FileMode was read only, now correctly set before each file operation: -> TFTPDrive.SaveList, TFTPConnected.(CopyFileFrom|CopyFileTo) sockets: - wrapped the Windows specific WSA(Startup|Shutdown|GetLastError)() into Sockets(Init|Done|GetLastError)() - LNX/W32: correct fdset handling for select() -> FD_(Zero|Clr|Set|IsSet)() - D32: added select() - moved into extsrc\ipstack\ TVHC / HELP [-] English: fixed several spelling errors (wether) [+] D32: Added help on networking / ethernet setup NETWORK / ETHERNET / SOCKETS / TCP/IP / INTERNET [+] STIPS: added short readme.txt for the updated version CALCULATOR [-] -1.000000000000000000000000000000 returned 0 for HEX/BIN/OCT/SYS (Slavka) [V] {C} -> bug in Val() (system.Str2Float()), where the digits after the decimal point where not correctly added to the final result; happened on digit 30+ with negative numbers only -> Thanks to {C} who provided a correctly working function GetReal(), used to correct the code in the VP RTL DBF VIEWER Fix dBase IV (.dbt) memo field view (variabled memo size) {G} View binary memo fields {G} RCP / RESOURCES Empty string items will not be accepted anymore -> rcp.CompileDialog().ProcessDLGs().GetItems() handles empty values FILE PANEL [-] fileio.ExistMain() didn't handle empty file names correctly [A] "Quick directory" (QuickDirs) feature was improved: - dnini.Proceed() now uses a for loop to handle quick directories -> dnini.TDoProc() now uses strings instead of PChar - Added unit quickdir where all quick dir code is moved into -> cleaned up and improved filescol.SelectDrive() - Added external quick directories, not accessible via ALT-[1-9] {G} -> users can access up to 90 additional quick dirs -> added commands.cmQuickChange0|cmQuickChangeMax|cmEditExtQuickDirs -> renamed dnutil.TDnApplication.HandleCommand(.DoQuickChange() to DoQuickChangeList() -> added ndn.qdr handling to quickdir: ";" comments, no duplicate directories will be shown, only add dirs that exist if '?' is prepended, add menu lines with '-' on a single line, added default ndn.qdr to build dirs, '*' for descriptions in the key field, ndn.qdr syntax highlight data -> created new sub menu Options.Configuration files -> the former hardcoded system paths are now added to ndn.qdr by default -> renamed commands.fmoAltF1F2SysPaths to fmoAltF1F2ExtQuickDirs -> help updated - environment variables in quickdirs are possible -> added stringsx.ReplaceEnvironmentVariables() |