rifet Geschrieben April 28, 2013 at 10:34 Geschrieben April 28, 2013 at 10:34 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. Zitieren
Nic Geschrieben April 29, 2013 at 10:40 Geschrieben April 29, 2013 at 10:40 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. Zitieren
photron Geschrieben April 29, 2013 at 12:15 Geschrieben April 29, 2013 at 12:15 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. Zitieren
Nic Geschrieben April 29, 2013 at 16:22 Geschrieben April 29, 2013 at 16:22 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 Zitieren
rifet Geschrieben April 29, 2013 at 19:11 Autor Geschrieben April 29, 2013 at 19:11 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. Zitieren
Nic Geschrieben April 30, 2013 at 08:37 Geschrieben April 30, 2013 at 08:37 Sag mal rifet, welche XE4 Version setzt Du ein ? Pro oder Enterprise ? Zitieren
photron Geschrieben April 30, 2013 at 10:03 Geschrieben April 30, 2013 at 10:03 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. Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.