Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi auf Windows Tablet (https://www.delphipraxis.net/172337-delphi-auf-windows-tablet.html)

yogie 27. Dez 2012 15:24

Delphi auf Windows Tablet
 
Hallo zusammen,

wer hat Erfahrung mit der Programmierung für Windows Tablets?

Seit längerer Zeit pflege ich ein Programm (Windows XP und höher),
mit dem geophysikalische Daten erfasst und angezeigt werden.

Ein erster Anlauf ein ähnliches Programm (durch einen anderen Entwickler) unter Android in Java zu erstellen, scheint gerade zu scheitern.

Nun wurde an mich die Frage gestellt, ob die Sache durch Wechsel von
Android Tablets auf WIN 8 Tablets zu retten sei.

Ich arbeite schon viele Jahre mit Delphi auf dem PC, für Tablets liegen aber keine Erfahrungen vor. Ich stelle mal die wichtigsten Sachen zusammen und würde mich über Kommentare und Anregungen freuen. Dabei steht die Verwendung von Delphi 6 Professional im Vordergrund.

1. Verwendung einer Intel CPU ist zwingend (muss wohl)
2. Werden Touch-Aktionen als Mouse-Aktionen interpretiert?
3. Kann ich dann wie gewohnt mit einem OnClick weitermachen?
4. Kann man eine virtuelle Tastatur aufrufen?
5. Wenn ja: Werden diese Eingaben wie normale Tastatureingaben
behandelt?
6. Ist es ausreichend z.B. Buttons und Schieberegler
ausreichend groß zu dimensionieren, oder gibt es andere
Stolpersteine bei der GUI Erstellung?
7. Ist zu befürchten, dass Fremdkomponenten (z.B. AsyncPro für
die serielle Schnittselle) nicht mehr laufen?

Ich erwarte keine Kochrezepte und mir ist auch klar, dass diese Art der Programmierung den Möglichkeiten eines Tablets nicht gerecht wird. Ich würde mich aber über Hinweise freuen, bevor ich eine Aussage gegenüber dem Anwender abgebe.

mkinzler 27. Dez 2012 15:26

AW: Delphi auf Windows Tablet
 
Willst du D6 verwenden oder käme auch eine neuere Version in Betracht?

yogie 27. Dez 2012 15:54

AW: Delphi auf Windows Tablet
 
Wenn es Vorteile bringt, käme auch eine neuere Version zum
Einsatz. Da ich die Entwicklung aber nur nebenberuflich betreibe
ist es natürlich (wie immer) auch eine Kostenfrage.

HPW 27. Dez 2012 16:13

AW: Delphi auf Windows Tablet
 
Hallo,

>1. Verwendung einer Intel CPU ist zwingend (muss wohl)

Ja da ja Delphi benutzt werden soll.
Ich habe seit 1 1/2 Jahrer ein Win7 Asus Eee Slate EP121 (I5-470UM)
http://www.asus.de/Eee/Eee_Pad/Eee_Slate_EP121/
Delphi 2010 ist installiert (aber noch nicht viel dort benutzt)
Win8 Update in Erwägung gezogen, aber noch nicht gemacht.

>2. Werden Touch-Aktionen als Mouse-Aktionen interpretiert?

Ja, Win7 Tablet Edition setzt das um.
Tip = LeftClick
Touch/Hold = RightClick.
Mit Standard Stift/Finger.
Mit optionalem Wacom Stft geht Right+Double Click auch mit den Stifttasten

>3. Kann ich dann wie gewohnt mit einem OnClick weitermachen?

Ja, geht wie gewohnt.

>4. Kann man eine virtuelle Tastatur aufrufen?

Ja, wenn man ein Edit-Control focussiert, blendet Win ein Symbol ein, auf das man clickt und dann wird entweder die virtuelle Tastatur oder das Fenster zur Handschriften-Erkennung eingeblendet.

>5. Wenn ja: Werden diese Eingaben wie normale Tastatureingaben
behandelt?

Ja, kein Unterschied.

>6. Ist es ausreichend z.B. Buttons und Schieberegler
ausreichend groß zu dimensionieren, oder gibt es andere
Stolpersteine bei der GUI Erstellung?

Ja damit geht schon mal was.
Einträge in Pulldown/Listboxes müssen auch vergrössert werden (für Fingertouch)
Mit Stift gehen auch normale GUI-Grössen.

>7. Ist zu befürchten, dass Fremdkomponenten (z.B. AsyncPro für
die serielle Schnittselle) nicht mehr laufen?

Ja, da ja neue Rechner wie auch das EP121 keine Serielle mehr haben.
Da müssen dann schon die beiden USB-Ports reichen.

Hier im Forum gab es auch schon einen Thread zum richtigen Touch-API unter älteren Delhi-Versionen.
Ab D2010 wird das ja so unterstützt.
Die meisten meiner Programme werden noch auf Delphi 7 auf dem Desktop erstellt und dann auf dem Tablet getestet.

Natürlich sind ordentliche Intel/Win Tablets nicht billig.
Mit Win8 kommen aber gerade eine Menge neue Modelle.

Grüsse,

Hans-Peter

yogie 27. Dez 2012 16:37

AW: Delphi auf Windows Tablet
 
@Hans-Peter

danke erstmal, das hilft mir schon mal weiter.
Mit deinen Anmerkungen habe ich auch ein paar Ansatzpunkte
um selber weiter zu suchen.

Guten Rutsch scnon mal im Voraus

RWarnecke 27. Dez 2012 21:03

AW: Delphi auf Windows Tablet
 
Zitat:

Zitat von yogie (Beitrag 1196852)
Wenn es Vorteile bringt, käme auch eine neuere Version zum
Einsatz. Da ich die Entwicklung aber nur nebenberuflich betreibe
ist es natürlich (wie immer) auch eine Kostenfrage.

Bei dem im Moment bestehenden Angebot von Embarcadero kannst Du von jeder Vorgängerversion auf XE3 updaten. Dieses Angebot gilt allerdings nur noch bis zum 31.12.2012. Danach ist der Upgradepreis nur noch gültig von Delphi 2010.

vagtler 27. Dez 2012 22:51

AW: Delphi auf Windows Tablet
 
Zitat:

Zitat von yogie (Beitrag 1196849)
[...] Nun wurde an mich die Frage gestellt, ob die Sache durch Wechsel von
Android Tablets auf WIN 8 Tablets zu retten sei. [...]

Hier sei allerdings der Hinweis gestattet, dass Windows 8 Tablets mit Windows 8 Professional auf Intel-Prozessoren vom Kostenpunkt weit über den Pendants mit Windows RT und ARM-Prozessoren liegen. Dazu kommt ein signifikant höheres Gewicht sowie eine erheblich geringere Laufzeit im Akku-Betrieb.

Eine Entwicklung von Windows Store Applikationen für Windows RT ist mit Delphi allerdings nicht möglich.

Ich sage das nur, weil Windows-Tablets auf Intel-Basis kaum mit Android-Tablets vergleichbar sind und Dein Kunde hier u.U. eine andere Erwartungshaltung hat.

Darf ich fragen, wieso die Java-Umsetzung auf Android scheitert?

yogie 28. Dez 2012 06:49

AW: Delphi auf Windows Tablet
 
@vagtler

Ich bin kein Fachmann für Java und schon garnicht für Java
unter Android, kann also nur weitergeben was mir mitgeteilt
wurde.

Das Programm nuß via Bluetooth Datensätze (12 single Werte
in ASCII Dartsellung) empfangen. Es kommen ca. 10 Sätze pro
Sekunde. Aus diesem Strom werden auf Knopfdruck (Meßpunkt)
bestimmte Wertesätze ausgewählt und nach Signalstärke
farbkodiert in einem Schachbrettraster angezeigt.

Die Probleme liegen wohl im Zwang die Datenbank als
Zwischenspeicher für alles Mögliche verwenden zu müssen.
Das ist wohl erforderlich, weil z.B. der Wechsel zwischen
Längs- und Querdarstellung das komplette Programm aus dem
Speicher wirft und wie mir gesagt wurde blockt die Datenbank
bei jedem Zugriff.

Da ist wohl eine Menge Arbeit mit Threads erforderlich, um
ein flüssiges Arbeit zu gewährleisten.

Ich bin für jeden Tip dankbar und werde alles weiterleiten

Bernhard Geyer 28. Dez 2012 08:41

AW: Delphi auf Windows Tablet
 
Zitat:

Zitat von yogie (Beitrag 1196900)
..., weil z.B. der Wechsel zwischen
Längs- und Querdarstellung das komplette Programm aus dem
Speicher wirft ...

Das dürfte wenn dann nur für RT-Tablets/Apps gelten. Normale Win-Apps (welche du ja nur mit Delphi erstellen kannst) sind davon nicht betroffen.

yogie 28. Dez 2012 09:14

AW: Delphi auf Windows Tablet
 
@B. Geyer

ist ok, die obige Darstellung sollte auch nur die
Probleme beim Java-Programm beschreiben

vagtler 28. Dez 2012 09:16

AW: Delphi auf Windows Tablet
 
Zitat:

Zitat von yogie (Beitrag 1196900)
[...] Das Programm nuß via Bluetooth Datensätze (12 single Werte
in ASCII Dartsellung) empfangen. Es kommen ca. 10 Sätze pro
Sekunde. [...]

Das hört sich jetzt erst einmal nicht so spektakulär an. Gehe ich richtig in der Annahme, dass wir hier von einem Bluetooth Serial Protocol Profile (a.k.a. RFCOMM) reden?

Zitat:

[...] Die Probleme liegen wohl im Zwang die Datenbank als
Zwischenspeicher für alles Mögliche verwenden zu müssen. [...]
Darin sehe ich eigentlich gar kein Problem - ganz im Gegenteil. Gerade SQLite ist doch bei diesen geringen Datenmengen äußerst performant.

Zitat:

[...] Das ist wohl erforderlich, weil z.B. der Wechsel zwischen
Längs- und Querdarstellung das komplette Programm aus dem
Speicher wirft [...]
Genauer: die Activity wird neu gestartet. http://developer.android.com/guide/t...e-changes.html

Zitat:

[...] Da ist wohl eine Menge Arbeit mit Threads erforderlich, um
ein flüssiges Arbeit zu gewährleisten. [...]
Um eine nicht blockierende UI zu erhalten wird wahrscheinlich tatsächlich das Holen der Daten idealerweise in einem Thread geschehen. Aber das war es meiner Meinung nach auch schon (zumindest bei dieser oberflächlichen Betrachtungsweise <g>).

Ich persönlich bin jetzt auch nicht so der Android-Experte und unser Android-Team ist erst im neuen Jahr wieder da. Grundsätzlich setzen wir zur Zeit bei uns im Haus ähnliche Anforderungen für alle drei relevanten Mobilplattformen (iOS, Android und Windows Phone) um, daher wären mir grundsätzliche Probleme diesbezüglich sicherlich zu Ohren gekommen.

Einzig Windows RT haben wir erst einmal ausgeschlossen, da hier das Bluetooth SPP nicht unterstützt wird...

mjustin 28. Dez 2012 09:16

AW: Delphi auf Windows Tablet
 
Zitat:

Zitat von yogie (Beitrag 1196900)
Die Probleme liegen wohl im Zwang die Datenbank als
Zwischenspeicher für alles Mögliche verwenden zu müssen.
Das ist wohl erforderlich, weil z.B. der Wechsel zwischen
Längs- und Querdarstellung das komplette Programm aus dem
Speicher wirft und wie mir gesagt wurde blockt die Datenbank
bei jedem Zugriff.

Da ist wohl eine Menge Arbeit mit Threads erforderlich, um
ein flüssiges Arbeit zu gewährleisten.

Ich bin für jeden Tip dankbar und werde alles weiterleiten

Läuft denn die Bluetooth-Empfangs/Datenspeicherungsseite in einem Service?

Services sind ja von dem Wechsel der Orientierung unbeeinflusst, da kann also das Schreiben eigentlich nicht blocken.

Dass es mit dem Orientierungswechsel Probleme geben kann ist bekannt, es gibt aber einige Workarounds:

How to avoid restarting activity when orientation changes on Android

Es wird auch nicht das Programm aus dem Speicher geworfen sondern nur die Activity, man kann die Application Klasse modifizieren um Daten statisch zu machen:


Activity restart on rotation Android

yogie 13. Jan 2013 11:33

AW: Delphi auf Windows Tablet
 
Hallo zusammen,
ich greife das Thema noch mal auf.

Ein erstes Programm läuft auf einem Tablet unter Win 8.
Erstellt wurde es mit Delphi 6 prof.

Buttons, Tabsheet und Edits zur Anzeige von Werten funktionieren.
Auch ein wenig Graphikausgabe läuft wie sie soll.

Ich hatte gehofft, ein Click in ein Edit würde eine virtuelle Tastatur
aufrufen, das ist leider nicht der Fall.

Hat da jemand einen Tipp? Ich vermute, da ist mit Delphi 6 nichts
mehr zu machen.

Bei der Gelegenheit auch ein Trackbar benimmt sich recht eigenwillig,
es scheint so, als ob auf dem Touchscreen nur eine Verschiebung
nach rechts möglich wäre.

vagtler 13. Jan 2013 11:48

AW: Delphi auf Windows Tablet
 
Zitat:

Zitat von yogie (Beitrag 1198876)
[...] Ein erstes Programm läuft auf einem Tablet unter Win 8.
Erstellt wurde es mit Delphi 6 prof. [...]

Also reden wir von einem Win32-Programm auf Windows 8 Professional oder Enterprise.

Zitat:

[...] Ich hatte gehofft, ein Click in ein Edit würde eine virtuelle Tastatur
aufrufen, das ist leider nicht der Fall. [...]
Nein, es handelt sich ja in Deinem Fall auch "nur" um ein herkömmliches Desktop-Programm auf einem herkömmlichen Desktop-Betriebssystem. Externe Komponenten wie z.B. http://www.tmssoftware.com/site/atkbd.asp bieten sowas programmatisch.

Zitat:

[...] Hat da jemand einen Tipp? Ich vermute, da ist mit Delphi 6 nichts
mehr zu machen. [...]
Delphi 6 macht Dir da tatsächlich einen Strich durch die Rechnung, aber nur, weil aktuelle Komponenten für so eine altertümliche Delphi-Version nur noch schwer zu bekommen sind. Es spricht aber nichts dagegen, eine virtuelle Tastatur selbst zu programmieren.

Bernhard Geyer 13. Jan 2013 12:23

AW: Delphi auf Windows Tablet
 
Zitat:

Zitat von yogie (Beitrag 1198876)
Hat da jemand einen Tipp? Ich vermute, da ist mit Delphi 6 nichts mehr zu machen.

Kein Problem. Das benötigte Programm osk.exe ist AFAIK seit Windows XP an bord. Notfalls kannst du es im OnEnter per "ShellExecute('osk.exe') zum vorschein bringen.
Unter Win7 kommt es jedenfalls bei Touchfähigen Laptops automatisch. Evtl. hat hier MS um die "Modern" UI zu puschen diesen automatismus bei richten Win32-Apps abgeschaltet. Muss das mal bei unsere Win8-Testlaptop testen.

HPW 13. Jan 2013 13:42

AW: Delphi auf Windows Tablet
 
Zitat:

Hat da jemand einen Tipp? Ich vermute, da ist mit Delphi 6 nichts mehr zu machen.
Das hat nichts mit D6 zu tun sondern mit der Windows Version.

Habe gerade nochmal 2 kleine Testprograme mit D5 und D7 gemacht.

Auf meinem Win7 Tablet funktionieren beide einwandfrei und gleich.
Beim Focussieren erscheint in der Nähe des Cursors so ein Tastatursymbol.
Wenn man darauf tippt/clicked erscheint das OnScreenKeyboard.
(Das kann man dann noch auf Handschrifterkennung umschalten)

Auf Win 8 (Touch-Netbook meiner Frau) funktioniert das so nicht mehr.
Beim Focussieren passiert erst mal direkt am Tedit nichts.
Unten auf der Taskbar neben dem Tray rechts gibt es aber ein neues Tastursymbol.
Wenn man darauf tippt/clicked erscheint die neue Win8 Tastatur.
(Ist auch nicht die gleiche wie mit OSK aufrufbar)
Nicht so schön wie die Win7-Aero Tastatur.
Unten rechts auf der Tastatur gibt es dann einen Button mit dem man das Tastaturlayout ändern oder die Handschriftenerkennung ativieren.

Warum MS mal wieder etwas gut funktionierendes Verschlimm-Bessert hat,ist wie immer ein Rätsel.
Aber da gibt es ja einige Dinge bei Win8.

Grüsse,

yogie 13. Jan 2013 14:32

AW: Delphi auf Windows Tablet
 
... 3 x danke ...:-D

das sind ein paar sehr schöne Tips.
Ich werde das so bald wie möglich testen.

Bernhard Geyer 13. Jan 2013 16:37

AW: Delphi auf Windows Tablet
 
Zitat:

Zitat von HPW (Beitrag 1198889)
Warum MS mal wieder etwas gut funktionierendes Verschlimm-Bessert hat,ist wie immer ein Rätsel.
Aber da gibt es ja einige Dinge bei Win8.

Vermutlich der gleiche Grund wieso man auch Desktop-PCs mit dem neue Startmenu "beglückt". Man will zwangsweise die Leute mit diesen "modern" GUI beglücken statt ihnen die Auswahl lassen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz