Delphi 10.3 RIO ImageList causes crash on Android 5.1.1 - delphi

I recently moved from Delphi Berlin to Delphi Rio since I need the new Android stuff. Trough trial and error I figured out that the ImageList I have in my DataModule is causing a problem - It starts and stays at the Splash Screen.
I've created a new Multi-Device application without anything, put a SpeedButton (SB_BTN1) and a ImageList on the main form. Loaded a small BMP image to the ImageList and attached it to the SpeedButton (SB_BTN1) - which causes for it to stay on the splash screen and not load.
BUT if I add another SpeedButton (SB_BTN2) - and set (SB_BTN1) invisible, and on the (SB_BTN2) - code I add that it makes the (SB_BTN1) visible, the form gets past the loading screen and everything works.
I aswell have attached it to Logcat to see what it says - to no success, it doesn't show any error.
My Andrid SDK API Level is 26 and NDK Level is 14 -- If this helps in any way
EDIT:
Forgot to mention, that the sample: "ImageListDemo" also does this.
EDIT-2: So I aswell tried to do a fresh install - I reseted my whole pc, and I upgraded from 10.3 to 10.3.1 - still the same problem.

Related

Avalonia : Hiding titlebar window on Linux does not work

I'm using avalonia (version 0.10.3 - but the same happened with 0.10.0 - on Net5.0 project) as the UI for a project and when I create for instance a splash or an about screen, the title bar must be invisible.
On windows this works just fine with these parameters in the window section :
CanResize="False"
ExtendClientAreaToDecorationsHint="True"
ExtendClientAreaChromeHints="NoChrome"
ExtendClientAreaTitleBarHeightHint="0"
Unfortunately, on Linux (mint - latest version with latest updates), the title bar remains visible (also if I set ExtendClientAreaTitleBarHeightHint="-1").
Is this a known issue or am I doing something wrong ?
I do not have a mac, but is that also the case for mac ?
X11 uses so-called "server decorations". Window frame is drawn by a window manager in a separate process, so it's not really possible to extend into that area.
You can still disable the frame completely and draw your own, but in general it's not really recommended since you will break advanced window interactions in basically every non-GNOME based Linux distro (GNOME doesn't care because it doesn't have any advanced window interactions).
In some future version Avalonia would use a custom-drawn frame for GNOME with a configuration option to ignore your user's preferences in favor of a fancy looking window border for other desktop environments as well, but it's not implemented yet.
I had a similar problem but I "solve it" by defining the window property as:
WindowState = WindowState.FullScreen;
Comparing with Normal or Maximized, with title bar in fullscreen remains hidden.

Opening a project in landscape in iOS doesn't display correctly in Delphi XE8

When I open my projects in landscape in iOS the form appears to be rotated 90 degrees to the right and also doesn't fit in the screen.
When I open it in portrait I don't get any problems. Also when I then turn it to landscape, it displays correctly.
Does anyone have a solution for this?
UPDATE:
I've downloaded XCode 5.1.1 so I can compile iOS 7.1
This solves the rotation issue, but now it doesn't fill the whole screen.
This is apparently a bug in XE8, which seems to happen mainly in larger programs, and possibly in combination with TMS iCL components. At least no one has yet made a small program that can reproduce the problem. I have also had the problem, and I "solved" it with a workaround.
See this bug report and this forum question (if you can catch it while the servers are up). Both describe various fixes and workarounds.
Edit:
I was able to reproduce the bug in a small program and it seems at least the iCL FMX wrapper can cause this error to happen. Also it happens only when target is iOS 8. I contacted TMS and they confirmed that they can reproduce it and will fix it. Until then, you can solve it by creating the wrapper first time it is shown:
TForm = class
...
fWrapper: TTMSFMXNativeFMXWrapper;
...
end;
procedure TForm.FormShow(Sender: TObject);
begin
if not Assigned(fWrapper) then
begin
fWrapper := TTMSFMXNativeFMXWrapper.Create(Self);
fWrapper.Form := MyWrappedFMXForm;
fWrapper.Parent := MyParentView;
end;
end;
I am using FXG component ActivityDialog. I used this component in the formCreate method which gave the problem. By removing it from the formCreate and moving it to the formActivate the problem is solved.

transparent background node webkit window

I can do almost everything else with nwjs so I find my failure to make this work very frustrating.
I have made the simplest of html file with <body style="background-color:rgba(0,0,0,0);"></body> and "transparent":true, in the window section of package.json, but the window background remains white.
(I have a new Dell tablet PC running windows 8.1.)
Something I've missed?
#chris .... quick check -- do you have your Windows "Theme" set to an "Aero" type, which allows for transparency? I'm not sure on Windows 8.1, but on 7 the "standard" desktop themes don't allow for transparency (shadowed, rounded elements) whereas the Aero desktop theme(s) do.

Solving Rendering Artifacts in Frame Buffer with WebView and EditText on Android 5.0?

After upgrading Nexus 5 to Android 5.0, an activity with default focus on an EditText does not render correctly (EditText repeats down across the screen with grey dots in between and if you click again or dump the ViewHierarchy with UiAutomator, it will return to normal rendering).
(I would upload the image, but don't yet have reputation for images).
NOTE: This is ONLY after I have loaded a WebView within the application (though in a separate activity). The same screen renders correctly prior to loading the first WebView in the application.
NOTE: This is ONLY a problem on Android 5.0 and (so far) on Nexus 5. I do not have another 5.0 (non-nexus) device to try.
EDIT: This also happened on HTC One with Android 5.01.
NOTE: I have tried disabling hardware acceleration, modifying inputMode, and defaultFocus.
Has anyone seen or solved this problem?
Ended up solving this by changing softInputMode (similar to previous WebView/Keyboard issues, but this time with a native View and EditText).
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
I had a similar issue on Lollipop 5.0.1 devices. My solution was to deactivate hardware acceleration in the WebView on these devices before loading any content with loadURL or loadData.
int SDKversion = android.os.Build.VERSION.SDK_INT;
if(SDKversion >= android.os.Build.VERSION_CODES.LOLLIPOP){
webview.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
If you do not want to do this, I could also drastically reduce the problem by adding a visibility="gone" webview to the disturbed activities and then calling something like:
webview_dummy.loadData("<head></head><body></body>", "text/html", "utf8");
after the loadURL of the actual webview.
Man, this is really some weird bug!
What solved my problem was to disable the hardware acceleration only on the activity which hosted my fragment. Not on the whole app, but specifically on that activity.

Why doesn't Interface Builder objects shows up on screen?

I've never had any problem with Interface Builder elements before (labels, sliders, switches etc), but suddenly I can't get new ones to show up in the app!
I can drag them in to the view, arrange them as I want, set values etc, but when I run the code they are gone.
A mysterious thing is that I can set values to them in the code without problem, like:
self.myNewLabel.text = #"test"
And if I stop the code with a breakpoint and ask the console
po self.myNewLabel.text it gives me "test"
But still, nothing shows up on the screen!
I've searched for any hidden or alpha properties that was set by misstake, but found nothing.
What are the pitfalls here? What am I missing?
System Info:
Xcode 6.1
OSX 10.10
Running on iOS 8.0 device
Check the constraints created by Interface Builder - they may be inadvertently pushing your UI elements off-screen.

Resources