SEEK does not affect WRITE position
What version ooRexx have you installed? Note similar bug report 1529: https://sourceforge.net/p/oorexx/bugs/1529/
typo in rexxref.pdf - wrappered or wrapped
rexx.dll locked error message, still there: - ooRexx-5.0.0-12558.windows.x86_32 - on a clean WIN10 system that has no previous ooRexx installation It is not the error itself that concerns me (I know the solution), it is the misleading error message: .. this indicates that not all Rexx programs have been halted.
Hi Glenn, If you add a file with code to reproduce this error, and also mention your oRexx and Windows versions you will probably get quicker and better response to your questions.
Erich, Works fine. I built a 32bit installer with my VS2019 + CMake v3.20 and reverted to line cmake_policy(VERSION 2.8...3.3) Then executed the installer in a virgin WIN7 32-bit and rexx -v did not generate MSVC errors.
This code is apparantly supposed to replace /MD by /MT. But if the flag strings do not contain /MD (as it is in my local build environment) nothing changes to /MT. You mention a better solution for recent CMake. Care to share? I wish to force /MT for some tests.
While analyzing this I noticed the following lines in CMakeLists: # This replaces the /MD compile flag with /MT. set(CompilerFlags CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE ) foreach(CompilerFlag ${CompilerFlags}) string(REPLACE "/MD" "/MT" ${CompilerFlag} "${${CompilerFlag}}") endforeach() Is the intention to force compiler option to /MT (statically link MS VC Runtime files)? If so, then this code only does that if the flags...
PO, I have downloaded the files from Dropbox, thank you. Will work on them later this week.
Erich, yes please, when you have time could you make a recent installer (built on WIN7 client infrastructure) available.
Thanks Erich, The error I get when starting rexx.exe: The program can't start because api-ms-win-crt-runtime-l1-1-0.dll is missing from your computer. No error with r12283 or earlier, always error with r12286 and up. The OS environment is a virgin WIN7 install (both 32 and 64bit). WIN10 is OK by the way. I just cannot understand why this error gets introduced somewhere around those releases. Did we change anything in the build environment? Maybe migrate to a newer Visual Studio with other build defaults?...
I get the impression oRexx builds no longer include MS VC Runtime files. Possibly since r12283 or thereabout. Was there any topic that discussed this at that time? Could not find any. I wish to build my own oRexx with runtime files included, but found no clues in our build instructions at https://sourceforge.net/p/oorexx/wiki/how-to-build-oorexx. I am hoping it is as simple as adding a parameter into one of our build files. Anybody that can point me in the right direction? Thanks. EDIT: building...
I get the impression oRexx builds no longer include MS VC Runtime files. Possibly since r12283 or thereabout. Was there any topic that discussed this at that time? Could not find any. I wish to build my own oRexx with runtime files included, but found no clues in our build instructions at https://sourceforge.net/p/oorexx/wiki/how-to-build-oorexx. I am hoping it is as simple as adding a parameter into one of our build files. Anybody that can point me in the right direction? Thanks.
Rick, Thanks. What would you advise as an alternative to cross-process semaphores? Andre
I have older code containing (deprecated) SysXXMutexSem statements to control access to a shared resource. I used: handle = syscreatemutexsem('NAME_OF_SHARED_RESOURCE') sysrequestmutexsem(handle) wherever I want to control the access. While rewriting code to MutexSemaphore class I see I can do handle = .MutexSemaphore~new but no longer specify the mutex semaphore name 'NAME_OF_SHARED_RESOURCE'. Am I on the right track? Using build r12269 on WIN10.
Some months ago I reported my gethostid() findings here: https://sourceforge.net/p/oorexx/discussion/408478/thread/6faf5cd588/
rexxref - wrong text for SysToUnicode
I see that too every now and then with recent ooRexx versions. I interpret them as false positives. If my install is going to be in an isolated VM environment I usually disable the MS AV and proceed with installing.
typo in readme.pdf
I need a CRC32 generator. My solution in oRexx is too slow. So I am thinking to create my first external functions DLL (written in C++). Do we have any step-by-step instructions to create these DLLs, or a pointer to where I should start reading? Note that I already have a working VS2017 setup where I can build the oRexx installer from SVN source. If you know a better approach than a DLL, please educate me. Thanks, Andre
A Properties object can be filled with data from file using the 'load' method. Input lines must be formatted: name=value I have a case where the name data contains '=', which results in unwanted parsing of the input line. I tried some obvious things like escaping the '=' or putting quotes around name but none worked for me. Any ideas please? Thanks.
STRIP cuts too many leading chars
one of the additional tests shows an issue when run from within the same directory Erich, I too have encountered this in r11982. I can reproduce it with my production scripts any time, and am working on extracting a testcase from that. Here is what I notice so far. If: - I have subroutine.rex and subroutine.cls (note that both have same name) - both are located in the same folder - folder is in my PATH then the subroutine.rex returns immediately without executing a single line of code (also no warning...
FWIW, also on r11984 the above steps reproduce this error. Installer used: ooRexx-5.0.0-11984.windows.x86_32.exe
and also in this popup
Erich, I know you fixed this in r11851, but for some reason in r11981/r11982 the formatting is back to ugly. See attachments.
SysFileSearch wrong linenumbers for lines over 1000
Can we have the hash for the file included so that we can be sure nothing was modified after that. +1
absolutepath wrong case for long subfolders
Lineout fails (at 2nd call) when path case not matched
I am struggling a bit with the PARSE SOURCE statement. The second token returned is one of: COMMAND, FUNCTION, SUBROUTINE, METHOD, or REQUIRES. But I always seem to get COMMAND. Can anybody post a few lines of code that return FUNCTION or SUBROUTINE? My platform is Windows. Thanks, Andre
OK I see. That is a pity, I was hoping to replace my Sysfiletree's with .File code but it seems I cannot. Also because Sysfiletree is the only one capable of retrieving the file archive flag as far as I know.
Rick, Thanks, I confirm r11891 Sysfiletree gives proper results (except for the unicoded filename itself, but that is a different story I understand). However, can you check if your patch must be replicated to the .File code?? See below code and its incorrect output for length and lastmodified. files = .File~new('.')~listFiles Do f over files say f~absolutepath say f~length say f~lastmodified~isodate End z:\testcase\รบ.docx 0 17 *-* say f~lastmodified~isodate Error 97 running z:\testcase\testcase.rex...
I have no build environment available right now, but I packed my test file into a RAR archive and will attach it here. I have however no idea how that unpacks, but hopefully you get a file L.docx where the L is the unicode symbol for the Italian Lira.
Rick,thanks. I put instructions to create the test file in the first post. I can build and test later this weekend.
In the Help forum Erich said: Rexx cannot work with file names including Unicode characters at all. Even if SysFileTree correctly reported back such a file (as it did before) Rexx typically wouldn't be able to open, read rename, or delete it. You couldn't do anything with it, because any Unicode character in the file name is returned as a "?" character. You explained why the filename is not shown correct. That was also wrong in the older SysFiletree and that is not really what this report is about....
In the Help forum Erich said: Rexx cannot work with file names including Unicode characters at all. Even if SysFileTree correctly reported back such a file (as it did before) Rexx typically wouldn't be able to open, read rename, or delete it. You couldn't do anything with it, because any Unicode character in the file name is returned as a "?" character. You explained why the filename is not shown correct. That was also wrong in the older SysFiletree and that is not really what this report is about....
Erich, so no hope to get any of those in-between releases? Regarding your #1639 comments I will move those over to the bug report and reply there. Andre
I am trying to narrow when problem #1639 (sysfiletree incorrect when Unicode in filename) was introduced into the code. For that I build old (Windows) releases myself and run a test. That way I know the problem was introduced between releases 11757 (no bug) and 11781 (with bug). But building the in-between releases fail. What can I do to get those builds? Thanks, Andre
Rick, that is what I thought. Is it for the same reason that .File has no option to read or manipulate the archive flag? Andre
I am building older releases to test where this problem started. Right now I see: OK on r11757 (WIN 32-bit) Not OK on r11781 (WIN 32-bit). I have a problem building the in-between releases, but once I manage that (or if anyone has them lying around) I will send another update.
Erich thanks, that will work. Is there a reason this is not available for .File? Is it because not all platforms can do this?
There is a .File~lastAccessed and a .File~lastModified, but how can I get the Created timestamp for a file? Thanks, Andre
sysfiletree incorrect when Unicode in filename (was OK before)
typo in Rexxref (LASTPOS)
Erich and Jeremy, thanks for responding. Now I assume this is a local problem on my machines, but since you asked: I have this on 2 separate machines (Win7 64bit and WIN Server 2019 64bit). I see no blue filenames in File Explorer, and I use no compression that I am aware of. Here are results from the Win7-64: Files present and listed: C:\Windows\system32\drivers\gm.dls C:\Windows\system32\drivers\gmreadme.txt C:\Windows\system32\drivers\IntelMEFWVer.dll Files present but not listed: (random selection,...
My folder c:\windows\system32\drivers contains 300+ files (not hidden). Today I noticed that just a few of the 300 files give Sysisfile() is 'true'. Also Sysfiletree() for that folder gives that same limited set of files. I was going to report this a an oRexx bug, but noticed that also the windows 'dir' output is not complete. Sysfiletree() and Sysisfile() probably depend on what Windows gives them so they work as designed I guess. My question remains, why are so many files ignored? Anybody? And...
formatting error in rexxextensions.pdf
Here are my steps to reproduce this. Pre-req: - a clean WIN7 install (so no previous oRexx install ever) I can reproduce on both a real PC (WIN7 64-bit) and in VirtualBox VM (WIN7 32-bit) - installer file c:\ooRexx-5.0.0-11860.windows.x86_32.exe (any location will be fine) - a read-only directory from which you can run the installer (this one is critical) Steps to reproduce: - open command prompt (mine is an elevated one, not sure if that is relevant) - change to the read-only directory (mine is...
Can bug reports be suspended? I was able to reproduce the lock yesterday but not this morning. There is definitely a situation where the lock occurs, but I need more time to document the exact steps. I will report back here when that is done.
rexx.dll locked error when installing from READONLY share
typos in install error popup
No items found when using UNC name as filespec in SysFileTree
Works fine on v4.2.0 but not on v5.0. I will create a bug report for this. Thanks.
My question is: Can I use UNC names (for example \srv\folder) in the SysFileTree filespec? Our docs make no specific statement about this but do say (rexxref v5.0.0.r11808): SysFileTree uses operating system APIs to find the files. So why does the following code show '0 items found' when 'dir' shows (in my setup) a couple of folder- and filenames? WIN7 64-bit v5.0 (r11846) 32bit filespec = '\\srv\folder\*.*' 'dir' filespec rc = sysfiletree(filespec, stem) say stem.0 'items found' Thanks, Andre
I fail to see why fixing the wrong filesizes between 4294967296 and 9999999999 bytes would introduce incompatibility. I do understand for larger sizes that need more than the available 10 positions, but not for this specific range of numbers.
This has fixed only part of what I reported. SysFileTree (when not using the new 'H' option) has 10 positions to display the filesize. So theoretically all filesizes up to 9 999 999 999 bytes (a little over 9536,74 MB) have enough positions to show correctly. But SysFileTree in r11795 (when used without the 'H' option) continues to show a wrong number for all filesizes between 4 294 967 296 (=4096MB) and 9 999 999 999 bytes. Any plans to fix that? Andre
Tx, I did not know. You think the error message is OK? I think the following would have helped me more in this case. Error 26 - Invalid whole number. Explanation: An expression was found that did not evaluate to a whole number or is greater than the limit (the default is 999,999,999 for 32-bit system and 999,999,999,999,999,999 for 64-bit systems)
COPIES('.', 1000000000) error
typo in rexxref.pdf for Collection~hasIndex
Same here, problem ongoing on: WIN10 64bit with oRexx 32-bit r11671 WIN7 64bit with oRexx 32-bit r11671
@Erich, hex and Gil, Thank you all for the quick fixes and background information. I confirm both ooSQLite installers (ooSQLite-1.0.0.11703, 32- and 64bit) run to completion in my Windows 7 64-bit. Andre
Not sure where to go with this problem, but here it is: Installing ooSQLite on oRexx v5.0 on Windows 7 (64-bit): The installed ooRexx does not meet the minimum required Files used: ooSQLite-1.0.0.9906-x86_32.exe ooRexx-5.0.0-11671.windows.x86_32.exe Error popup is attached.
ad Q1: works, thanks! ad Q2: is the doc partially available anywhere? I remember seeing something somewhere, but could not find it now.
I catch a program's output with the following code: Address CMD 'program_name program_parameters' with output using (arr) After this, my arr has all lines sent to standard output, but misses lines sent to error output. Q1: how to I get the error lines? Q2: where is this statement documented? I guess my question is answered there but could not find it. Thanks, Andre
@Shell, thanks. I had tried list before, but I must enter the password before I get list results. 7za l archive.7z Any other suggestions please? How to identify a password protected archive without having to enter the password?
How to tell if a 7z archive is password protected YES/NO. I know I will get prompted for the password, but I want to know before getting the prompt. Can I query the protected state? Thanks, Andre
To be more precise: install file: ooRexx-5.0.0-11636.windows.x86_32.exe tested on WIN7 64bit and WIN10 64bit
crash in sample osinfo.rex
Erich, Thank you, I downloaded both current installers. Andre
A big 'Thank You' to whoever makes the Windows installers available on Sourceforge: https://sourceforge.net/projects/oorexx/files/oorexx/5.0.0beta/ Is there a reason why currently the 32bit installer is older than the 64bit? 64bit is [2018-12-15] ooRexx-5.0.0-11605.windows.x86_64.exe 32bit is [2018-12-06] ooRexx.5.0.0.11579-x86_32.exe Thanks, Andre
sockgethostid() now gives 0.0.0.0
ADDRESS CMD ... WITH keeps 000D if lineend is 000D000A
syswinver on Win10 gives 6.02
Rony, Thanks for the response. I read your links but unfortunately they give no more pointers. The general description for error HRESULT 0x80070057 is: E_INVALIDARG One or more arguments are not valid but that too does not bring me further.
Anybody here that works with oRexx + WinSCP (www.winscp.net) ? WinSCP is an alternative for RxFTP, and supports SFTP. I started to use it when my provider switched to SFTP only access. My Rexx scripts run fine on WIN7 but fail on WIN10: *-* Compiled method "UNKNOWN" with scope "OLEObject". 23 *-* session~Open(sessionoptions) Error 92 running z:\winscp-test\test.rex line 23: OLE error. Error 92.901: An unknown OLE error occurred (HRESULT=80070057). My setup is WIN10 64-bits and ooRexx (v5.0.0) 32-bits,...
Looks solved in v18.01! Thank you, Andre
Problem also in v18.00.
Thanks for explaining. I now understand why I get more files than I ask for: it is Windows fault. But shouldn't oRexx hide that fault for me? What do you think?
SysFileTree returns too many files
Tx, that explains it. Andre
array~append overwrites existing items
SysDumpVariables crash on WIN7
RXQUEUE loses lineends every 4096 chars
Thanks Rick, I should have used ~dimensions to test for the size, not ~items
array~remove changes array size
incorrect command in diagram (rexxref 5.3.6.38. toString)
typo in rexxref (18.4. The RXQUEUE Filter)
Got it, thanks, Andre
Rick, Thanks for the explanation. I changed the sub_b code so that the arrayin goes to a temporary array (btmp). And then copy contents of 'btmp' to 'b' and return from the subroutine. sub_b: Use Arg b file = .stream~new('c:\windows\win.ini') btmp = file~arrayin say 'after file~arrayin btmp has' btmp~items 'items' b = btmp~copy say 'after btmp~copy, b has' b~items 'items' Return Same result, 0 items available to the caller. I guess I am missing the point somewhere. Or does btmp~copy also return a...
Rick, Thanks for the explanation. I changed the sub_b code so that the arrayin goes to a temporary array (btmp). And then copy contents of 'btmp' to 'b' and return from the subroutine. sub_b: Use Arg b file = .stream~new('c:\windows\win.ini') btmp = file~arrayin say 'after file~arrayin btmp has' btmp~items 'items' b = btmp~copy say 'after btmp~copy, b has' b~items 'items' Return Same result, 0 items available to the caller. I guess I am missing the point somewhere. Or does btmp~copy also return a...
My config: v5.0.0 / build date May 17 2017 / 32-bit I am busy learning to pass arrays as arguments. In the attached example code, after sub_a I can access the array that has 1 item (as expected). But after sub_b I see 0 items, while expecting 34 (number of lines in my example file). What am I missing? Thanks for your help, Andre array_a = .array~new call sub_a array_a call dumparray array_a, 'after return from sub_a' array_b = .array~new call sub_b array_b call dumparray array_b, 'after return from...
I have a better description and test case for this problem. Also a pointer to where to fix, but I fail the knowledge to do that myself. Problem: .File~new(....)~absolutePath wrong for root folders New test case: say .File~new('c:\')~absolutePath rc = directory('c:\Windows\') say .File~new('c:\')~absolutePath Output expected: c:\ c:\ Real output: C:\ c:\Windows Note that normalizePathSyntax (in StreamClasses.orx) strips trailing separators which it probably should not do for root folders. C: is not...
~listFiles gives current folder files for root folder
Thanks Rick, Erich. Not sure how I missed that
Can ooRexx (Windows) set a file datetime? I don't remember ever seeing this, and...
Problem also in v15.14. Could you please, please give this some priority. It should...
Hi Erich, I had no idea Windows does the same thing. Thanks for checking this. I...