Ура! "screenSize" в сочетании с android:minSdkVersion="9" android:targetSdkVersion="14" помогло! Все работает отлично. Всем огромное спасибо. Привожу измененных темплейт манифеста, вдруг кому пригодится.
<?xml version="1.0" encoding="utf-8"?>
<!-- BEGIN_INCLUDE(manifest) -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="%package%"
android:versionCode="%versionCode%"
android:versionName="%versionName%">
<!-- This is the platform API where NativeActivity was introduced. -->
<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="14" />
<%uses-permission%>
<application android:persistent="%persistent%"
android:restoreAnyVersion="%restoreAnyVersion%"
android:label="%label%"
android:installLocation="%installLocation%"
android:debuggable="%debuggable%"
android:largeHeap="%largeHeap%"
android:icon="%icon%"
android:theme="%theme%"
android:hardwareAccelerated="%hardwareAccelerated%">
<!-- Our activity is a subclass of the built-in NativeActivity framework class.
This will take care of integrating with our NDK code. -->
<activity android:name="com.embarcadero.firemonkey.FMXNativeActivity"
android:label="%activityLabel%"
android:configChanges="orientation|keyboardHidden|screenSize"
android:launchMode="singleTask">
<!-- Tell NativeActivity the name of our .so -->
<meta-data android:name="android.app.lib_name"
android:value="%libNameValue%" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<%activity%>
<receiver android:name="com.embarcadero.firemonkey.notifications.FMXNotificationAlarm" />
<%receivers%>
</application>
</manifest>
<!-- END_INCLUDE(manifest) -->
В общем если кто-то будет искать, то вот такой позорный костыль капельку улучшает ситуацию:
if ((NewViewportPosition.Y+MemoInheritor.Height)- round(MemoInheritor.GetContentBounds.Height)) = 2 then
MemoInheritor.ViewportPosition := TPointF.Create(MemoInheritor.ViewportPosition.X, MemoInheritor.ViewportPosition.Y+2);
Этот код в событии "OnViewportPositionChange", MemoInheritor - наследник TMemo.
Именно с "EIdException" у меня работает вменяемо. Как вариант можно сделать так:
type
TForm1 = class(TForm)
procedure Button1Click(Sender: TObject);
private
MyFlag : Boolean;
public
end;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
TThread.CreateAnonymousThread(nil, procedure()
var
IdHTTP1 : TIdHTTP;
begin
IdHTTP1 := TIdHTTP.Create(nil);
form1.MyFlag := false;
IdHTTP1.Get('http://lenta.ru');
form1.MyFlag := true;
IdHTTP1.free;
end).start;
// Ну и тут запустить таймер, который проверит через нужное вам время переменную MyFlag
end;
Причина
При финальной сборке приложения для Application store в файле AndroidManifest.xml отсутствует разрешение для интернета (не смотря на то, что в разделе Uses Permissions разрешение для интернета стоит true), а при сборке Debug в файле AndroidManifest.xml это разрешение присутствует.
Решение
Проблема решилась следующим способом: в разделе Uses Permissions разрешение для интернета ставим false, затем в файл AndroidManifest.template.xml. вставляем строку:
<uses-permission android:name="android.permission.INTERNET" />