問題タブ [delphi-xe4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1949 参照

ios - Delphi で Indy HTTP サーバーを取得して、iOS アプリケーションで接続を受信するにはどうすればよいですか?

HTTPリクエストを処理し、それらの一部をリモートサーバーに渡し、他の人に直接応答するように設計された、一種の「プロキシ」であるマルチプラットフォームアプリケーションを作成しています。したがって、HTTP クライアントと HTTP サーバーの両方として機能します。

私は Delphi と Lazarus の両方で Indy 10 コンポーネントを使用してきましたが、それらはデスクトップ プラットフォームでうまく動作します。Lazarus を使用して、プロジェクトを Windows、Linux、および MacOS に正常に移植しました。現在、Delphi XE4 を使用して、iOS に対して同じことを試みています。現在、OSX 10.8.2 を実行している Mac の iOS シミュレーターでプロジェクトを実行しています。後で、iPad デバイスをターゲットにします。

しかし、iOS で着信要求への接続を作成する TIdHTTPServer コンポーネントを取得できないことがわかりました。サーバーを IP アドレスとポートにバインドしてアクティブにします。これにより、リスナー スレッドが開始されます。しかし、GET 要求をサーバーに送信しようとすると、「要求された IPVersion / アドレス ファミリはサポートされていません」というメッセージとともに例外 EIdIPVersionUnsupported が発生します。このエラーは、GET 要求をアプリケーション自体からルーティングしようとしても、別のマシンで実行されているブラウザーから外部的にルーティングしようとしても発生します。

プロキシは、フォアグラウンドで実行されているブラウザーからの要求を処理するバックグラウンド プロセスとして実行することを目的としているため、通常、HTTP サーバーを localhost の IP アドレスにバインドします。外部ブラウザ テストでは、代わりに Mac 自体の IP アドレスにバインドしました。

0 投票する
1 に答える
2562 参照

ios - iOS アプリケーション内で URL を開く

iOS アプリケーションで Safari を使用して Web ページを開く必要があります。
XE2では、 UIApplicationを公開するiphoneallユニットがありました。XE4 は FPC を使用しなくなったため、使用できません。Embarcadero のドキュメント によると、SDK は C++ または Delphi インターフェイスを使用する場合にのみ使用できます (ただし、macapi は OSX のみであり、iOS では使用できません)。で、UIKitフレームワークのインターフェースがないようですね?! 私が試した別の解決策は次のとおりです。

しかし、それはまったく影響がありませんでした!
URLを開く他の方法はありますか、それとも運が悪いのでしょうか?
iOS用のTWebBrowserコンポーネントがあることは知っていますが、Webページを表示するためだけにその道を進みたくありません。

0 投票する
2 に答える
2465 参照

ios - XE4 で PDF ファイルを開くと、TwebBrowser Zoom/Gesture が firemonkey/iOs で機能しない

iOS アプリケーション内で PDF を表示したいのですが、これまでのところ、唯一の方法は TwebBrowser で開くことです。

A.デフォルトで「ページ幅に合わせる」ズームで表示しています

B.「ズーム」機能がない

WebBrowser1.Navigate(file://mypdf.pdf')

方法

  1. ファイルを開いた後にズームを変更したい (私の解決策の遭遇 q#2)
  2. ズームを機能させます (私の解決策は q#3 に遭遇しました)
  3. ジェスチャを Web ページと同じように機能させる

#1の場合:

実行時に WebBrowser1.height/width を変更すると、「Fit to width」として自動スケーリング (ズーム?) されます。

はい、動作します。垂直スクロール バーは問題なく動作します - 端で跳ね返ることはありません -> 一番下までスクロールできます..

横スクロールもせず、全く反応せず……。

*これは、pdf が A4 であるためです。ランドスケープ スタイルの場合はどうなるかわかりません

#2の場合:

ボタンをクリックしてズームするだけでなく、gestureManager を追加します。

次に、「iOS Interactive Gestures - Image Zoom」の例と同じように Form1.ongesture を追加します。

はい、動作しますが、同じことです - 垂直バウンスも水平スクロールもありません。

*ScrollBox は動作しません。垂直/水平スクロール バーが組み込まれているものでは動作しません。

#3の場合:さらに進んで、上/下/左/右のコントロールを記述します

WebBrowser1.Position.X/Y と WebBrowser1.height/width を「スクロール」のように変更します

はい、動作します...しかし、2 つのカスタム ジェスチャ コントロールにより、制御が非常に難しくなっています

(EventInfo.Distance と EventInfo.X/Y、iPhone で実行する場合、これら 2 つのコントロールは互いに重なっています)

最悪の部分は、親/子構造に関係なく、WebBrowser1 が任意の補償の上にあることです。2番目に悪い部分は、マージンの制限をコーディングするのが難しいことです.どういうわけか、常に制限を超えてスクロールできます.....

開いた後/オンにズームを変更すると「感じ」、垂直/水平スクロールバーの両方が表示された状態で開きます。次に、水平バーが機能するはずです->ズームを処理するだけで済みます->完全に近いです。

もちろん、最善の方法は、WebBrowser1.Navigate(' http://www.embarcadero.com/ ') のように Web ページのように機能させることです -> 両方のスクロールバーが機能し、ズームが機能します。しかし...これにはおそらくサービスパックNが必要ですか?

アイデアやコードの回答に感謝します。

このいまいましい猿は燃えていて、そこから答えを見つけるのはいつも難しい.

0 投票する
1 に答える
400 参照

ios - XE4 で合計ディスク サイズを取得する

Delphi XE4を使用してIPHONE / IPADデバイスの合計ディスクサイズを取得する際に、誰かが指摘したり助けたりできますか。

私はちょうど開始点が必要です、私は使用しようとしました:

しかし、それには参照がありません。

ありがとうございました

0 投票する
0 に答える
901 参照

delphi - XE4 iOS アプリ: iOS デバイスへのデプロイが失敗する

シミュレーターだけでなく、iPhone でも最初のアプリをテストしたいと考えています。Xcode と paserver が実行されています。ライセンスに関するすべての作業が完了しました。Delphi XE4 でターゲット プラットフォームとして「My-iOS-Device」を選択して「実行」を押すと、次のエラーが表示されます。

[DCC Fehler] E2597 ld: -lcompiler_rt のライブラリが見つかりません

[DCC Fataler Fehler] F2588 Linker-Fehlercode: 1 ($00000001)

このエラーの意味がわかりません。PC はイーサネット経由で iMac に接続されています。シミュレーターへのデプロイは問題ありません。iMac へのすべての接続を切断すると、同じエラーが発生します。あなたはなにか考えはありますか?

0 投票する
1 に答える
518 参照

delphi - ネイティブ呼び出しを使用して最新の Delphi で iOS で HTTPS/POST する方法は?

Delphi の最新バージョンである XE4 では、iOS アプリケーションの構築が可能です。ニュースグループでは、OpenSSL ライブラリと Indy 10 の問題を回避するために、HTTPS/Posting にネイティブ iOS ライブラリを使用するという議論がありました。ネイティブ ライブラリを使用して HTTP Posting を実行する推奨される方法は何ですか? (私の例では、JSON ドキュメントのアップロードと応答です。)

0 投票する
1 に答える
1811 参照

ios - iOS 上の XE4 Firemonkey はスリープ モードを防止します

iOS 用の Firemonkey XE4 でアプリを開発しており、ユーザー入力がないときにデバイスがスリープ状態にならないようにする必要があります。xcode 開発用に次のコマンドを見つけました。

[アプリケーション setIdleTimerDisabled:YES];

FMXに同等のものがあると思いますか?

誰でも助けてもらえますか?

ありがとう

ダリル

0 投票する
4 に答える
14385 参照

delphi - Delphi Unicode 文字列の長さ(バイト単位)

Delphi 7 のコードを XE4 に移植する作業を行っているので、ここではユニコードを取り上げます。

文字列を TMemoryStream に書き込むメソッドがあるため、この embarcadero の記事によると、文字列の長さ (文字単位) に Char 型のサイズを掛けて、必要な長さ (バイト単位) を取得する必要があります。 length (バイト単位) パラメータを WriteBuffer に渡します。

その前に:

後:

Delphi の UnicodeString 型についての私の理解では、内部的には UTF-16 です。しかし、Unicode についての私の一般的な理解は、すべての Unicode 文字が 2 バイトでも表現できるわけではなく、一部の特殊な外国文字は 4 バイトかかるということです。Embarcadero の別の記事では、「実際には、1 つの Char が 2 バイトに等しいということは常に正しいとは限りません!」という私の疑念を裏付けているようです。

それで...それはLength(rawHtml)* SizeOf(Char)、一貫して正確であるために本当に十分に堅牢であるかどうか、またはより正確になる文字列のサイズを決定するためのより良い方法があるかどうか疑問に思いますか?