-
Content Count
652 -
Joined
-
Last visited
-
Days Won
12
Everything posted by Bill Meyer
-
I am very happy with my AMD in a system where it is not unusual to have multiple VMs running.
-
A BIG and very strange BUG with High-DPI, VCL Style and Form Constraints
Bill Meyer replied to Carlo Barazzetta's topic in VCL
Understood. My recollection is that the misbehavior observed here was inconsistent. Sorry I don't have better details. What I do know is that after the fix was applied to the manifest, the system behaved as expected. Worth a try, I think. -
A BIG and very strange BUG with High-DPI, VCL Style and Form Constraints
Bill Meyer replied to Carlo Barazzetta's topic in VCL
I was not involved, but I know we had some issues which were resolved by the info here: https://stackoverflow.com/questions/23551112/how-can-i-set-the-dpiaware-property-in-a-windows-application-manifest-to-per-mo#44009779 -
Dataset.Filter and Dataset.Filtered? Or are you looking for more than that?
-
I am calling the DevExpress ExportGridToXLSX, and it produces the spreadsheet no problem. The difficulty comes after, as I want to open it in FlexCel to insert a header, it fails. I have this snippet: ExportGridToXLSX(fn, grdMain); b := FileExists(fn); I have tested in a small program, and FileExists returns True. But in WOMS, form the Daily Grid, it returns false. In both cases, the xlsx file opens in Excel without a problem. Going deeper, the failure of FileExists is because the call it makes to GetFileAttributes returns INVALID_FILE_ATTRIBUTES. Any thoughts?
-
One of the first things I override. 😉
-
Yes. The extension was incorrect at the call, and they silently correct it. I'd have preferred an error message.
-
And obviously going blind. Thank you! But that's really odd, as the content of my filename variable has not changed.
-
Here is a selection from the Process Monitor log which shows the last few entries of the file write activity, and the subsequent failure to find the file: "Time of Day","Process Name","PID","Operation","Path","Result","Detail" "5:54:48.3007155 AM","MediaOffice.exe","7476","WriteFile","T:\TestSheet.xlsx","SUCCESS","Offset: 17,179, Length: 46" "5:54:48.3007203 AM","MediaOffice.exe","7476","WriteFile","T:\TestSheet.xlsx","SUCCESS","Offset: 17,225, Length: 19" "5:54:48.3007257 AM","MediaOffice.exe","7476","WriteFile","T:\TestSheet.xlsx","SUCCESS","Offset: 17,244, Length: 22" "5:54:48.3010912 AM","MediaOffice.exe","7476","CloseFile","T:\TestSheet.xlsx","SUCCESS","" "5:54:48.3363273 AM","MediaOffice.exe","7476","QueryOpen","T:\TestSheet.xls","NAME NOT FOUND","" "5:54:48.3363673 AM","MediaOffice.exe","7476","QueryOpen","T:\TestSheet.xls","NAME NOT FOUND","" "5:54:48.3363977 AM","MediaOffice.exe","7476","CreateFile","T:\TestSheet.xls","NAME NOT FOUND","Desired Access: Write Attributes, Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a" "5:54:48.3364372 AM","MediaOffice.exe","7476","QueryOpen","T:\TestSheet.xls","NAME NOT FOUND","" And here, a sample of the activity which appears to be from the FileExists() call: "Time of Day","Process Name","PID","Operation","Path","Result","Detail" "5:54:48.3639990 AM","MediaOffice.exe","7476","CloseFile","C:\Windows\Fonts\segoeuib.ttf","SUCCESS","" "5:54:48.3640382 AM","MediaOffice.exe","7476","CloseFile","C:\Windows\Fonts\segoeuii.ttf","SUCCESS","" "5:54:48.3640635 AM","MediaOffice.exe","7476","CloseFile","C:\Windows\Fonts\segoeuiz.ttf","SUCCESS","" "5:54:48.3645094 AM","MediaOffice.exe","7476","QueryOpen","T:\TestSheet.xls","NAME NOT FOUND","" "5:54:48.3645566 AM","MediaOffice.exe","7476","QueryOpen","T:\TestSheet.xls","NAME NOT FOUND","" "5:54:48.3645860 AM","MediaOffice.exe","7476","QueryOpen","T:\TestSheet.xls","NAME NOT FOUND","" "5:54:48.3646129 AM","MediaOffice.exe","7476","QueryOpen","T:\TestSheet.xls","NAME NOT FOUND","" These entries continue for many hundreds of rows. I am not accustomed to investigating at this level, so not sure how to interpret this.
-
But as I wrote above, the file clearly does exist.
-
This app created the file. A few lines later, it looks for the file, and GetLastError reports 2: ERROR_FILE_NOT_FOUND But the file exists, in that same location. It is openable in Excel, and can be resaved from Excel. And after that, I still get a fail on FileExists().
-
Agreed. I did not word the title well. However, the file does exist, and the result from FileExists is incorrect as its call to GetFileAttributes returns INVALID_FILE_ATTRIBUTES. Adding a delay as a check accomplishes nothing, it is not a matter of the write not having completed.
-
Lately I found that I was getting psychedelic fringes on things in the editor, so switched to dark mode. However, I noticed that the MMX Properties dialog has a problem in the topic tree. It appears as though all topics are selected, and is quite unreadable. This seems to occur only the first time the dialog is presented in a session. MMX 15.0.33 build 2403 in Delphi 10.2.3.
-
Understood. But I identified it, and wanted to let you know.
-
I will be less active for a few weeks
Bill Meyer replied to Lars Fosdal's topic in Community Management
Be well, Lars, and recover fully and soon. -
Refactor menu grayed out for Rename...
Bill Meyer replied to Mr. Daniel's topic in Delphi IDE and APIs
What plug-ins have you installed? -
I find no mention at all on that page of DirectX11 or any version of DirectX. Nor in the manual for VBox.
-
Will have to experiment, I guess. There is no mention of DirectX11 in the VBox manual.
-
So does this mean that the Extension Pack for VBox is needed to run 10.4.2? I don't see any notes in the installation page about extraordinary video requirements.
-
I am on VBox 6.1.18, and the settings offers only a max of 128MB. How are you getting 256MB?
-
If so, that is a full stop for my needs.
-
I had the opportunity to play a bit with Whitesmith's C on CP/M, and that persuaded me it would not be my future. I am not sure now how many floppies were involved, but I do remember that compiling hello world -- when it didn't crash -- took about 4 minutes. BDS C was fare more usable, but gave a whole new meaning to quirky. TP 1.0 on CP/M was a revelation. Purely amazing, and all in a 27K .com file.
-
It was a long time ago, but let me offer a few recollections. I got UCSD Pascal (for CP/M) at a disk copying fest held at Foothill College in Los Altos Hills, CA. Fairly certain it was 1978. There was also Sorcim Pascal/M which was 1980-81, I think, and Pascal-MT+ from the same time. Microsoft also released an ISO Pascal which had no I/O, since ISO defined none. TP 1.0 (for CP/M) was 1983, and flyers were sent out with cartoon art of "Frank Borland". Looked like a prospector, as I recall. I still have my manual from that. When I called to ask about it, Philippe was answering the phone from his office above the Jaguar repair shop in Scotts Valley. TP 1 came out just after a scandal about JRT Pascal, which had been offered for $29.95, I think, but was apparently quite buggy. Some of the UK Borland team went off on their own when Borland elected not to market Modula-2. And how many here realize that Quattro Pro was written in Modula-2? But there were, in fact, versions of Modula-2 published by Borland, and I used to have one that ran on my LittleBoard Z80. The commercial Modula-2 was under the name Topspeed. And they also offered Topspeed C++. See this page: http://www.edm2.com/index.php/TopSpeed_Modula-2 Also see: https://en.wikipedia.org/wiki/Modula-2
-
Blogged : Advice for Delphi library authors
Bill Meyer replied to Vincent Parrett's topic in Tips / Blogs / Tutorials / Videos
GetIt doesn't -- in most cases -- let you put things where you would like. -
Blogged : Advice for Delphi library authors
Bill Meyer replied to Vincent Parrett's topic in Tips / Blogs / Tutorials / Videos
Also, as far as I know, many (most?) component packages ignore the possibility of "Install for All Users." Some claim (falsely) to support it. Not usually an issue, but some months ago, I was setting up a new VM to be used by members of our team, and it would have been convenient to install the 8 devs as users, then install everything to be for all users. Each could then make the VM personal by removing the other users.