About the author
"How can I detect the Android emulator?" is a question a lot of people have asked.
The authoritative way is as below. On the Android emulator, there exists the property ro.kernel.qemu. On an actual Android device, this property doesn't exist.
public static boolean isRunningOnEmulator() { String emulatorProperty = SystemProperties.get("ro.kernel.qemu"); boolean Result = (emulatorProperty!=null) && (emulatorProperty.equals("1")); return Result; }
SystemProperties is a helper class I've created that uses Reflection to call into the public android.os.SystemProperties which is not exposed in the Android SDK.
Continued discussion of undocumented Delphi 8 Property Access Specifiers, and other ways of adding and removing delegates / events handlers, including clearing the list of all the delegates / event handlers.
This article discusses the new Delphi 8 property access specifiers.
A method pointer is now the same as a global procedure, ie, procedure of object = procedure.