-
Content Count
71 -
Joined
-
Last visited
Everything posted by Mike Warren
-
I'd love to know if there is a workaround too. My program is still in development, but I cannot release it with such a bug. That would be very unprofessional behavior. I go to a lot of trouble to make my applications as bug free as possible. If this is not fixed by the time I get close to release I will need to find a workaround myself.
-
I'm having a couple of problems with dragging objects inside a scrollbox. My actual use case is a lot more complicated, but I've created a simple test case (attached) to demonstrate the problems. 1/ When the items inside the scrollbox are scaled larger the scrollbars do not update, making it impossible to scroll to the edges of the component. I can't find any method to update the scrollbars. 2/ When any components are scaled below 1, the components will no longer properly follow the mouse when dragged. Instead, the component being dragged will jump all over the place. This problem gets particularly bad as the scale decreases, especially below 0.5. Am I doing something wrong? If not, does anyone have workarounds? Here's a video showing the problem: Test.zip
-
Ah! I see. My mistake was changing the scale of the ScaledLayout. It looks like the scaling happens automatically when the size is changed. Of course, the correct answer was in your first reply. I just had scaling in my head and thought that was what you meant when you said "when you work with the TrackBar change the size of the Layout appropriately" I misinterpreted that as changing the "scale", not size.
-
Brilliant! That seems to fix everything. Now I just need to properly understand it. 🙂 Thank you very much!
-
Because that's the only way I've found to stop it bouncing all over the place when the scale is below 0.5.
-
I'm actually having quite a bit of trouble solving part 1 of my problem. Attached is a new version of my test program. In this version a border is drawn around ScaledLayout1.OriginalWidth and OriginalHeight in black and a green border is drawn around ScaledLayout1.Width and Height. The green border tracks the scaled size nicely, but the black one becomes smaller when Scale > 1 and larger when the Scale is < 1. The black boarder (OriginalWidth/OriginalHeight) the determines what the scrollbars do. I've tried all sorts of things and keep going around in circles. Test2.zip
-
Thanks for your reply. I think you've given me the clue I was looking for in order to progress on this. Unfortunately, your first idea of resizing the components rather than scaling them doesn't appear to be realistic in my case. In the real program I have dozens of components including images, paths, text etc and it would be quite a task to keep everything including line thicknesses, fonts etc properly scaled and aligned. On the other hand, scaling the main container component takes care of all that for me. However, it does look like Layouts will be at least part of the answer. I had not looked into layouts before now, so don't have an understanding of them. I found the Embarcadero documentation on layouts, but still don't have a proper grasp on them. As an experiment, I added a TScaledLayout to my ScrollBox in the test app. Then I moved the blue rectangle to inside the Layout. Now, scaling works beautifully insofar as everything moves nicely when dragged with the mouse, no matter what the scale, but the Scrollbars on the ScrollBox still do not adjust to the size of the scaled components inside. It's 3am here, so maybe it'll be clearer after I've had some sleep. Thanks again for pointing me in the right direction.
-
Does anyone here use the Winsoft PDFium components? I've downloaded the trial, but between not being able to find any documentation and being very new to Firemonkey, I feel like I'm poking around in the dark. I have a slightly unusual requirement for working with PDF files: - Load a PDF of house plans. These typically come from Revit or AutoCAD and can be quite complex. - Allow the user to place text and graphics on top of the PDF. - Export a new PDF with these additions. It would also be nice to be able to crop to only part of each page, but I have an idea on how to simulate that with a mask if actually editing the imported PDF is not possible. There's a lot more to my application than that, but that's the PDF requirement. I'd prefer not converting the PDFs into bitmap/JPEG as that will likely increase the size to the point that emailing the resulting files my be problematic. From looking at the demo programs it does look like it might work for me. What I'd really like is the source code to the PDF viewer demo so I can understand how to properly work with viewing PDF files, but I've been unable to find it on the Winsoft site. I sent them an email a couple of days ago, but have not yet had a response. Although this application will be initially targeting Windows, I want to use Firemonkey to give me the flexibility to add other targets later. As a result, the Winsoft PDFium components seem to be my only option. Otherwise, I was considering Gnostice. I'm not keen on needing to include the PDFium DLL (and whatever the equivalent is on other platforms), but installing it in the same directory as my application probably means it won't cause me any problems.
-
Winsoft have replied. The source files and documentation are in the Winsoft directory in Program Files (x86). initial testing shows that it will do most of what I want. I'm just not sure I'll be able to crop the imported PDFs, although I have an idea that may be able to work around that. Now I can do a proper evaluation.
-
After using D1 to D7 for many years I've just started with Delphi 11.3 so I can write cross platform software. Initially, I tried a Mac VM in VirtualBox but the SDKs are not seen. From what I gather from my research, there seems to be problems using Mac VMs. I really hate the idea of carrying another computer around with me, so I'm looking at a Mac Mini as what looks like the best compromise. I can squeeze one of those in my laptop bag as long as it can be run headless. So, my questions: 1/ Will a current model low end M2 Mac Mini be suitable for Mac and iPhone development with Delphi? 2/ Can a Mac Mini be run headless and operated from a VNC connection?
-
I plugged in a monitor, keyboard and mouse, and things went surprisingly smoothly with the setup. This was probably in part due to my earlier playing this stuff using a Monterey VM. - Created an Apple ID - Updated the OS to 13.3 - Turned on file sharing and set up SMB so I can share files with Windows. - Turned on screen sharing, which is a native Mac VNC. That was a surprise. I expected to need to install a VNC server. - Disconnected the monitor and connected the HDMI dummy plug, which allows me to set the resolution to 1600x900 (Low Resolution). Without the headless HDMI adapter I had no option to change the screen resolution, and it was at some weird setting. - Set the mouse wheel to work in the same direction as I'm used to in Windows. - Added keyboard shortcuts for cut, copy and paste. (Ctrl+X, C, V) - Installed XCode 14.2 - Started to create a developer account, but backed out when Apple wanted to charge me $149 per year. I'll wait until I'm nearly ready to release something before I do that. - Installed and ran PAServer 22.0 - Configured the profile and installed the SDKs for Mac64, Mac64ARM and iOS in Delphi 11.3. - Compiled a blank application for all 3 platforms and they all worked fine. - Finally, I put XCode, iOS Simulator and PAServer in the dock so I can get to them easily.
-
I just purchased a Mac Mini Pro 16GB/512GB. Setting it up now... Thank you all for your input.
-
For anyone interested: https://quality.embarcadero.com/browse/RSP-41295
-
I should have got that one instead. 🙂
-
Thank you both for replying. Any new Mac Mini bought today will be an M1/M2 variant, so an Intel version is not an option for me. My development machine is a high-end gaming laptop. i7-12700H 2.30 GHz with 32GB RAM, an RTX3070ti GPU and 5TB of SSD storage, running Windows 11. I need this laptop for work because I use some graphics-intensive software. As far as work is concerned, I only do Delphi development less than 5% of the time, but I also use Delphi at home. I need to keep my work laptop with me so have to carry it between work and home every day. That's why I was really hoping to be able to use a Mac VM rather than hardware. I run my dev environment in a Win11 VM and performance is very good. The 2 Mac Minis I'm looking at are these: Mac Mini I'd prefer the cheaper one, but am concerned about the low memory. I understand these computers can't be upgraded. I've just ordered a couple of those HDMI dummy plugs. I can see them being useful for other things I do. D11 does compile for both Intel and ARM Macs, but I can't find any information on if I need an Intel Mac to do so.
-
It's normal to get a beep for Alt+key combinations that are not handled by the application, but it the app handles the key combination it should be swallowed by the app so Windows doesn't get it. VCL has always done this. I'll make a quality report.
-
Well, they shouldn't, and don't for me. VCL applications behave correctly, as they have done since D1 (yes, I've been using Delphi that long). FMX application process the keystrokes and then pass them to Windows. It should not do this. Here's a video demonstrating the issue.
-
Thanks for your reply. I don't want to disable the system beep globally. With a VCL based application, anything (Action, Button etc.) that has a shortcut assigned to it will prevent the key message for the shortcut being passed on to Windows so Windows will not play its default beep. The same behavior can be seen by adding a button instead of an action and setting the button's Text (Caption) property to &X. This is starting to look like a bug in FMX to me, or at least missing functionality.
-
Thanks for the reply Vincent. To duplicate this, do the following: 1/ Create a new blank multi-device application 2/ Add an ActionList component 3/ Add an Action the the ActionList 4/ Set the Shortcut for this action to Alt+X 5/ In the OnExcecute event of the Action, add Close; Run the program and press Alt+X. The program will close and a Windows Beep will be heard. Do exactly the same thing with a VCL program and no beep is heard. All this on D11.3 and Windows 11
-
Hello, I'm about to upgrade from D7 to D11.3, specifically so I can target MacOS, iOS and Android in addition to Windows in future applications. In one of my old applications I've been using the DCDSP components with DSPack to change the pitch of audio files without changing the speed. I want to be able to do the same thing in a new application that I want to target MacOS (Intel and Arm) as well as Windows. Does anyone have any suggestions of where I can get started with this? Google has not lead me to anything conclusive, or even promising.
-
Thanks David. I had seen Bass in passing, but dismissed it as just being a playback engine. Looking at it again after your suggestion does show promise, so I'll spend some time looking at it. I'd prefer a native Delphi component, rather than a DLL, but can see that may be asking too much for cross platform.