Tag: delphi

如何使用RAD Studio FireMonkey在iOS和Android上启动导航应用程序?

我知道我可以使用像maps.apple.com/?q=Firehouse+Subs这样的URL 以编程方式在iOS 6中打开地图应用程序 ,但是如何才能使用FireMonkey工作呢? 我可以把它放到WebBrowser中,但它只是显示Google Maps的Web界面。 另外我知道这不适用于Android,但我可以使用意图来处理,但FireMonkey似乎也没有公开。 更新:进一步的研究表明,这可能暂时是不可能的,即使我写了一些平台特定的代码。 这个答案表明,如果不涉及Java,intent是无法被解雇的。 是否还有一种方法可以通过C ++将URL发送到iOS来打开导航? 我没有太多的iOS开发经验。

在FMX.Platform.iOS中重载一个方法

在FMX.Platform.iOS这个方法被添加到App委托中 class_addMethod(appDelegateClass, sel_getUid('application:didReceiveLocalNotification:'), @applicationDidReceiveLocalNotification, 'v@:@@'); 其程序是: procedure applicationDidReceiveLocalNotification(self: id; _cmd: SEL; application: PUIApplication; notification: Pointer); cdecl; begin PlatformCocoa.FAppDelegate.application(TUIApplication.Wrap(application), TUILocalNotification.Wrap(notification)); end; 我想在我的主要单元中重载这个方法,但它只适用于我从FMX.Platform.iOS删除它的声明 在我的主要单位,我添加方法如下: class_addMethod(objc_getClass('DelphiAppDelegate'), sel_getUid('application:didReceiveLocalNotification:'), @applicationDidReceiveLocalNotification, 'v@:@@'); 而我的程序: procedure applicationDidReceiveLocalNotification(self: id; _cmd: SEL; application: PUIApplication; notification: Pointer); begin ShowMessage('it works'); end; 我想尝试和尽可能保持FMX.Platform.iOS源代码,有没有办法告诉编译器使用我的applicationDidReceiveLocalNotification而不是源代码中的?

Delphi iOS的IPv6麻烦。 请确保您的应用程序与IPv6networking兼容

我不能将我的iOS应用发布到AppStore。 Delphi 10.1.2柏林,iOS64,Win 8.1。 我收到苹果的下一个信息: 感谢您的答复。 请确保您的应用程序与IPv6networking兼容。 testing您的应用程序以实现IPv6兼容性的最简单方法是在Mac上设置本地IPv6networking。 然后,您可以从iOS设备连接到networking,以testingIPv6兼容性。 请按照支持IPv6 DNS64 / NAT64networking提供的分步说明进行操作。 有关支持IPv6networking的更多信息,请查阅支持IPv6的networking。 这是连接代码。 if (FSocket<>nil) then begin if not FSocket.Connected then begin SetState(mwtrstDisConnected); FSocket.Free; FSocket:=nil; end else exit; end; FSocket:=TIdTCPClient.Create(nil); FSocket.Host:=FHost; FSocket.Port:=FPort; //CheckCode {$ifdef KBMMW_USING_INDY_9_OR_NEWER} FSocket.BoundPortMin:=FMinClientPort; FSocket.BoundPortMax:=FMaxClientPort; {$endif} {$IFDEF KBMMW_USING_INDY_10} FSocket.ReadTimeout:=RequestTimeout*1000; FSocket.ConnectTimeout:=ConnectTimeout*1000; {$ENDIF} {$IFDEF KBMMW_USING_INDY_8_00_23} FSocket.Connect; {$ELSE} {$IFDEF KBMMW_USING_INDY_9} FSocket.Connect(ConnectTimeout*1000); {$ELSE} FSocket.Connect; {$ENDIF} […]

Delphi iOS重新启动应用程序背景图像

我希望重新启动图像作为我的应用程序的背景。 目前我正在做这样的事情: procedure TFormMain.InitRepeat_Background; var P: string; R: TMyRetrieveFileResult; begin P := ''; if ((P = '') and (FScreenOrientation = TScreenOrientation.soPortrait)) then begin P := 'app_background_480x800.png'; end ; if ((P = '') and (FScreenOrientation = TScreenOrientation.soLandscape)) then begin P := 'app_background_800x480.png'; end ; if (P <> '')then begin R := TMyRetrieveFileResult.Create(FBitmapBuffer, '', 0, -1); ReadGenericBitmapOffline(R, […]

滚动与selectdelphiXE6

我有一个有16行5列的gridpanellayout。 每个字段都有一个设置为TalignLayout.Client的TRectangle。每个矩形都有一个onclick事件来执行一个动作(例如,通过改变颜色来突出显示被点击的矩形)。 有16行,我的网板超过了用户设备,如iPhone的高度,所以我把网格放在VerticalScrollbox的顶部。 使用手指滚动的用户与使用触摸来突出显示项目之间的最佳方式是什么? 我想最简单的select,我想到了它只是改变点击事件双击事件。 有什么build议么?

尝试在iOS8上创buildTFileStream对象时不允许操作

我正在转换一个Delphi的Windows应用程序是多平台,应用程序的关键部分是能够从SQLite数据库导出一些数据文件到主机。 它在Windows和OSX上绝对正常,但是当我将它部署到iPad时,我收到一条错误消息,指出: Cannot create file "/var/mobile/Containers/Bundle/Application/9FFD6B02-1B3A-4F07-XXXXXXXXXXXXXXXXXX/AAG_Multi.app/Text/Templates/full Transcript.dwt Operation not permitted 我也尝试了TMemorystream,同样的结果。 该目录应该以我在TStreamCreate Line之前立即调用Tdirectory.Creatdirectory(fullPath)的forms存在。

Delphi 10.1 Berlin idHTTP / IPv6 / iOS / Socket错误#51networking无法访问

我们无法通过应用程序testing。 在苹果的请求下,我们将静态IPv6地址添加到我们的服务器。 随着我们的申请,一切都为我们工作,但被拒绝了。 问题依旧。 他们得到一个错误: Socket Error #51 Network is unreachable. 目前还不清楚为什么在testing期间无法连接到我们的服务器? 我们做错了什么? 我们需要支持IPv4和IPv6吗? 我们使用以下组件 客户: idHTTP IdSSLIOHandlerSocketOpenSSL 服务器: IdHTTPServer IdServerIOHandlerSSLOpenSSL 服务器有一个静态的IPv6地址,它是可用的。 我们按以下方式处理连接: try IdSSLIOHandlerSocketOpenSSL1.IPVersion := Id_IPv6; answerBuff := idHTTP1.Post('https://[xxxx:a0e0:bad:bad::53]:8001/', tmpPostRequestData); except IdSSLIOHandlerSocketOpenSSL1.IPVersion := Id_IPv4; answerBuff := idHTTP1.Post('https://xx.85.157.25:8001', tmpPostRequestData); end; 我们不使用域名,只使用直接地址。 服务器IPv6地址可用。 请帮助别人。 原谅我们的英语。

Delphi iOS同时放大缩小+平移(两根手指不能同时离开屏幕)

我有这个代码: case EventInfo.GestureID of igiZoom: begin if (not(TInteractiveGestureFlag.gfEnd in EventInfo.Flags)) then begin if (not(TInteractiveGestureFlag.gfBegin in EventInfo.Flags)) then begin W := LImage.Width + 2 * ((EventInfo.Distance – FMapsLastDistanceZoom) / 3); H := LImage.Height + 2 * ((EventInfo.Distance – FMapsLastDistanceZoom) / 3); if (W < layoutMapsContent.Width) or (H < layoutMapsContent.Height) then begin W := layoutMapsContent.Width; H := […]

delphiXE4 iOS开放电子邮件程序无法正常工作

我正在iPhone4上testing下面的代码(没有SIM卡,但我不明白这是怎么回事,因为它的邮件程序工作正常): SharedApplication和canOpenURL等都是XE4提供的例程。 procedure TFormMain.sbContactsDetailsEmailClick(Sender: TObject); var S: string; NSU: NSUrl; begin // URL.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding); S := 'mailto:' + 'info@example.com' + '?subject=' + 'title' + '&body='; NSU := StringToNSUrl(S); if SharedApplication.canOpenURL(NSU) then SharedApplication.openUrl(NSU) ; end; 不幸的是,似乎SharedApplication.canOpenURL(NSU)返回false。 我做错了什么?

我如何编程添加TListBoxItem内的图像?

问题 很长一段时间,我使用自定义样式来加载详细的TListBox 。 它基本上是一个带有TImage作为图标的ListBox 。 不过最近我遇到了很多的错误,并决定把它扔掉。 这是我如何编程生成我的TListBox项目: // Create LISTBox Item lb_item := TListBoxItem.Create(self); lb_item.Parent := lb_awesome_list; lb_item.Text := cow_name; 如果我想添加一个Image呢? 我到目前为止所做的 我试图把它作为一个ItemData添加 lb_item.ItemData.Bitmap := iv_user_ic.Bitmap; 还有一些其他的select没有成功。 有没有可能以编程方式添加图像?