-
Content Count
1626 -
Joined
-
Last visited
-
Days Won
37
Everything posted by Dave Nottage
-
Please post a reproducible example.
-
Updated JavaScript: cJavaScriptClickAtXY = '(function() {'#13#10 + 'var windowX = %d, windowY = %d'#13#10 + 'let x = windowX - (window.scrollX || window.pageXOffset)'#13#10 + 'let y = windowY - (window.scrollY || window.pageYOffset);'#13#10 + 'var element = document.elementFromPoint(x, y);'#13#10 + 'while (element) {'#13#10 + ' if (element.tagName !== "A" && !element.hasAttribute("onclick"))'#13#10 + ' element = element.parentElement;'#13#10 + ' else'#13#10 + ' break;'#13#10 + '}'#13#10 + 'if (element) {'#13#10 + ' var clickEvent = document.createEvent("MouseEvents");'#13#10 + ' clickEvent.initMouseEvent("click", true, true, window, 0, 0, 0, x, y, false, false, false, false, 0, null);'#13#10 + ' element.dispatchEvent(clickEvent);'#13#10 + '} else'#13#10 + ' console.log("No clickable element found at coordinates:", x, y);'#13#10 + '})()';
-
I think it may be that the click is being invoked on the span, or the image (i): <li> <a href="https://en.delphipraxis.net/forum/28-fmx/"> <span>FMX <i class="fa fa-angle-right"></i></span> </a> </li> When it needs to be on the anchor (a) element, so I'll need to tweak the JavaScript a bit.
-
const cJavaScriptClickAtXY = '(function() { '#13#10 + 'var windowX = %d, windowY = %d'#13#10 + 'let x = windowX - (window.scrollX || window.pageXOffset)'#13#10 + 'let y = windowY - (window.scrollY || window.pageYOffset);'#13#10 + 'var element = document.elementFromPoint(x, y);'#13#10 + 'if (element) {'#13#10 + ' var clickEvent = document.createEvent("MouseEvents");'#13#10 + ' clickEvent.initMouseEvent("click", true, true, window, 0, 0, 0, x, y, false, false, false, false, 0, null);'#13#10 + ' element.dispatchEvent(clickEvent);'#13#10 + '} else'#13#10 + ' console.log("No element found at coordinates:", x, y);'#13#10 + '})()'; // Example call: WebBrowser1.EvaluateJavaScript(Format(cJavaScriptClickAtXY, [Cursor_Position_X, Cursor_Position_Y])); The code above should do what you want - it has had very limited testing in my environment
-
That's not a complete example, and obviously not Windows, so I'm not sure why you felt the need to add a unit that requires Windows.
-
Delphi 12.2 and MacOS Sequoia (15.0) : No provisioning profile
Dave Nottage replied to FabDev's topic in FMX
In macOS 15, the location for provisioning profiles is in another folder. One solution to fix this is: In Xcode menu, click Xcode > Settings, and select Accounts Select the relevant Apple ID (or add yours if none exists in the list) Click "Download Manual Profiles" Then PAServer should find the profile -
Presumably you are attempting to use this unit on a non-Windows platform, which it is not intended for. Please give a complete example of what you are trying to do.
-
Delphi 2005
-
OutOfRange Error with TComboEdit in Delphi FMX
Dave Nottage replied to kidego9436's topic in Cross-platform
I confirm the behaviour -
You need to add dw-kastri-base-3.0.0.jar to the Libraries node of the Android targets. If you want to target both 32-bit and 64-bit, unfortunately because of a bug in Delphi 11.3, you'll need to make a copy of the jar file in another folder in order to be able to add it to both targets. I've been having that trouble, too. It works OK for me in some apps, but not in that demo. Still looking into why. "Slightly icy"?
-
You're using the wrong JDK. Later versions of Delphi require Eclipse Temurin Open JDK. In the Delphi menu, click Tools > Manage Features, then scroll the right hand side down to the bottom, select Eclipse Temurin Open JDK and click Apply. You'll then need to configure the Android SDK settings to use it:
-
You need to use a control that supports proper "z-order" with platform-derived controls such as TWebBrowser. Kastri has such controls (TNativeImage, TNativeRectangle etc), and I've now created a demo that could be used as a starting point to achieve what you want. Please note that you would need to first install the KastriFMX package, which contains the native controls.
-
https://my.embarcadero.com/#downloadsPage
-
Delphi 12.2 available for download
Dave Nottage replied to pyscripter's topic in Delphi IDE and APIs
It wasn't intentional. -
Delphi 12.2 available for download
Dave Nottage replied to pyscripter's topic in Delphi IDE and APIs
Same is happening for experts compiled with 12.2, i.e. they will not load in 12.1: https://embt.atlassian.net/servicedesk/customer/portal/1/RSS-1838 -
Get Unique Device Identifier under iOS Delphi 12
Dave Nottage replied to Levente's topic in Cross-platform
It's declared in: Androidapi.JNI.Provider -
Not "out of the box". You could perhaps do this: while LJSONObject.Count > 0 do LJSONObject.RemovePair(LJSONObject.Pairs[0].JsonString.Value).Free;
-
A very quick Google revealed this for me: I suggest checking that you have not accidentally disabled items from the deployment (from the main menu - Project > Deployment)
-
Set the fdoForcePreviewPaneOn flag on in the Options property. It should be noted however, that this will work only where preview of the selected file type is supported.
-
Delphi 12 Android - White background at start
Dave Nottage replied to Juande's topic in Cross-platform
Since I was curious, I had a bit of a play around and came up with the demo at this link. I recommend reading the readme -
Delphi 12 Android - White background at start
Dave Nottage replied to Juande's topic in Cross-platform
I haven't done any more about it since then -
Delphi 12.2 available for download
Dave Nottage replied to pyscripter's topic in Delphi IDE and APIs
Apparently they're working on a new agreement (presumably with Eugene's estate?) to include it. Marco/Ian mentioned this in the webinar. -
I can replicate the behaviour using the original demo, adding a TabControl with 2 tabs. Reversing the calls fixes it for me, i.e. TabControl1.SetActiveTabWithTransition(TabItem17, TTabTransition.Slide, TTabTransitionDirection.Normal); FPDFControl.LoadPDF(sFile); ..however I can look into why the original way around is not working like it should.