Jump to content
View in the app

A better way to browse. Learn more.

Tinkerunity

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Geschrieben

Hallo,

 

nachdem jetzt Delphi XE4 das Licht der Welt erblickt hat, wollte ich doch mal schnell ein kleines Projekt für IOS aufsetzen. Während die Delphi-Bindings für die Windows-Platform sher gut funktionieren, bekomme ich die Bindings für die IOS-Plattformprogrammierung partout nicht eingebunden. Die Compilerdirektiven der Bindings gehen anscheinend davon aus, das Delphi immer nur Windows-Code zu sein scheint (während FPC auch Unix sein darf). Allerdings sind für IOS einige Biliotheken nicht verfügbar.

 

Könnte mir bitte jemand die Richtung weisen, wie ich die IOS-Plattform mit Delphi XE4 (und nicht mit FPC) comilieren kann. Ein einfaches Beispiel (sofern es einfach ist^^) wie die Bindings abgeändert werden müssen, würde schon reichen. Danke.

Geschrieben

In der Tat scheint die neue XE4 ein echter Quantensprung zu sein. Ich würde noch weiter gehen, und die nächste Version abwarten, die in Kürze erscheint, und dann auch  die Android-Platform (!)unterstützen soll. Für die Cross-Entw. muss man sich von der VCL verabschieden und den Firemonkey-Framework verwenden.

Geschrieben

Das ist richtig. Im Moment wird angenommen, dass Delphi IDE == Windows bedeutet. Das funktioniert für iOS dann natürlich nicht mehr.

 

Ich habe mir das gerade mal angesehen und es fehlt zumindest die Sockets Unit. Ich konnte allerdings bisher nicht herausfinden was man tun muss um die wieder zu bekommen, oder wie man mit Delphi unter iOS Sockets benutzt.

Geschrieben

Hilft das ev. weiter:

https://forums.embarcadero.com/message.jspa?messageID=480211

 

In dem Zusammenhang wurde bisher auch nur die Indy-Komponenten genannt, dass ist für die OpenSource-Bindings nicht ideal :( Aber zumindest nutzt Indy die WinSock unter Windows, Posix auf Mac, libc unter Kylix, etc. Wie gesagt die mobile-Erweiterung auch im Hínblick auf Android wird anscheinend bald erscheinen, ev. wird das o.g. Problem dann lösbarer.

 

Unter IOS wird für die TCP Sockets das CFNetwork Framework genannt:

http://oreilly.com/iphone/excerpts/iphone-sdk/network-programming.html

Geschrieben
  • Autor

Danke für eure Kommentare.

 

Während ich die Units BlockingQueue sowie TimedSemaphore leicht auf Delphi XE4  + mobile für IOS umschreiben konnte, übersteigen die notwendigen Änderungen bei IPConnection absolut meine Fähigkeiten. Ich verstehe, dass ich mittels Einbinden von den nativen Mac sowie IOS Frameworks (MACApi.XXX z.B. MACApi.CoreFoundation für das CFNEtwork-Framework sowie IOSApi.XXX z.B. IOSApi.Foundation NSURL-Framework) sockets-Funktionalität bekomme. Dafür sind meine Programmierfähigkeiten doch zu stark eingestaubt. Nicht ohne Grund bin ich auf Delphi XE4 aufmerksam geworden und hatte Blut geleckt.

 

Aber so wie ich das jetzt sehe, ist es dann doch wohl einfacher mit Xcode die ganze Sache zusammenzubasteln. Außerdem sparts 'ne Menge Geld. ;)

Geschrieben

Sag mal rifet, welche XE4 Version setzt Du ein ? Pro oder Enterprise ?

 

Geschrieben

Okay, ich hab das mal versucht und kann wirklich "uses Macapi.CoreFoundation" verwenden. Aber "uses Macapi.CocoaTypes" gibt z.B. einen Fehler obwohl das laut Dokumentation auch gehen sollte.

 

Die Dokumentation dazu ist sehr dünn von der Delphi Seite her. Laut Apple Dokumentation gibt es CFSocket im CoreFoundation Framework. Aber ich konnte nicht herausfinden wie man das dann in Delphi verwendet. Es scheint weder CFSocket, noch CFSocketRef, noch TCFSocket oder TCFSocketRef als Typ zu geben. Da steh ich auf dem Schlauch. Ich kann auch keinerlei Beispielcode dazu finden, wie das funktionieren soll.

 

Edit: Nachdem ich noch mal ein neues Projekt angelegt habe kann ich jetzt CFSocketRef verwenden.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.