問題タブ [delphi-5]
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.
delphi - Indy を使用して Delphi 5 で CSV をダウンロードする
多くの Indy スレッドがあることは知っていますが、自分のケースに一致するスレッドを取得できません。
ユーザー名とパスワードのフォームが記載された URL を受け取りました。これは、複数のハイパーリンクがある URL/reports.php に対して動作します。
これらの各リンクは、reports.php?report=variablename などの URL 変数を含むページに移動し、ダウンロードがすぐに開始されます。
これまでの私の考え:
試行するたびに、「IOHandler is not valid」というエラーが表示されます。明らかに、私は最初のページに正しく投稿していませんが、私が欠けているものについて誰かにアドバイスしてもらえますか? また、ログイン後にダウンロード URL にアクセスするだけでよいですか、それとも Cookie を使用する必要がありますか?
ありがとう
delphi - Delphi 5 Indy/ics SSL の回避策は?
次のようなエラーが表示されます。
「IndyProtocols5 は IdSSLOpenSSLHeaders を使用またはサポートしていません..」
Delphi5 で Indy 9 または 10 をインストールしようとして、他の人にとっては問題であることに気付きました。これにより、例外が発生します。
「SSL ライブラリを読み込めませんでした」
IdHttp.IOHandler を使用する場合。
私が継承したアプリケーションには、サポートされていない D5 コンポーネントが非常に多く含まれているため、残念ながら D6+ へのアップグレードは私のスキルセットを超えています。最初は CSV の投稿とダウンロードに Indy を使用したいのですが、Web サービスの呼び出しも行う可能性があります。
これに対する既知の回避策はありますか、それとも D5 で引き続き動作する可能性がある ICS などの他のオプションを検討する必要があります。
ありがとう
delphi - Delphi OpenTools API: AfterCompile 通知を取得するには?
OpenTools API は、コンパイルの前後に通知を受けるためのインターフェースを定義します。
このインターフェイスをエクスポートするウィザードを作成しました:
ウィザードを次のように登録します。
しかし、どちらも:
IOTAIDENotifier.BeforeCompile
IOTAIDENotifier.AfterCompile
IOTAIDENotifier.FileNotification
IOTAIDENotifier50.BeforeCompile
IOTAIDENotifier50.AfterCompile
呼ばれます。私は何を間違っていますか?
これまでに呼び出された唯一のものは
IOTAWizard.GetName
IOTAWizard.GetIDString
その順番で。
delphi - Delphi OpenTools API: ターゲット exe 名を取得するには?
指定されたターゲット実行可能ファイルの名前を取得するにはどうすればよいIOTAProject
ですか?
GExpert の OpenTools API FAQから:
binary/exe/dll/bpl/ocx/etc のファイル名を特定するにはどうすればよいですか。コンパイルまたはビルドによって生成されますか?
- Delphi 8 以降の場合は、 を使用しますIOTAProjectOptions.TargetName
。
- 以前のリリースでは、プロジェクトの実行可能ファイルの拡張子を指定する$Eディレクティブをスキャンし、 「OptputDir」で指定されたパスでバイナリ ファイルを検索する可能性があるため、メソッドの実装ははるかに複雑です。 project オプション、またはそのオプションが空白の場合はプロジェクトディレクトリ (他の多くの可能性と複雑さの中でも)。このようなツールを実装する最善の方法は、CodeGear CodeCentral サンプル ID 19823のサンプル コードから始めることです。
私の場合は後者に当てはまります。インターフェイスが与えられたIOTAProject
場合、次の内臓はどうなるでしょうか。
Delphi 8以降の場合、(テストされていない)答えは次のとおりです。
しかし、複雑なのは Delphi 8 より前のほうが難しいです。
Jedi JCL には、TJclOTAExpert
シミュレートするために一緒に使用できる内部に多数のメソッドがあります。
私はそのコードを苦労して取り組んでいます。数週間以内に、自分の質問に対する回答を投稿できるようになることを願っています。
しかし、それまでの間、他の誰かが私の質問に答えることができるという評判を得られるように、それを公開します.
delphi - Delphi5 でのゼロ例外による浮動小数点除算
私のアプリは Delphi5 で書かれています。バグを追跡するために madExcept を使用しています。「ゼロによる浮動小数点除算」例外を追跡しましたが、そうであってはなりません。それが発生するコード セグメントは、次のようになります。
ここで、'c' の実際の値は常に '1' です。
ログのスタック トレース:
除算が行われたある時点で別の例外がありましたが、除数は変数であり、例外が発生したときに値も「1」でした。デバッグして再現できたこと。
私の質問:何が欠けていますか?私が認識していない浮動小数点除算に関する誤検知はありますか?
さらに、例外ポイントで C++ DLL を使用していません。これは、FP 除算を異なる方法で処理する傾向があるためです (例外を発生させるのではなく、NaN または +/-INF を返す)。
任意のポインタをいただければ幸いです。
delphi - 埋め込まれたYoutubeクリップでTWebBrowserがクラッシュする
これが私のコードです:
test.html
私のアプリケーションは両方の方法でクラッシュします。未処理のwin32例外が発生します(Flashプレーヤーが原因Exception EInvalidOp in module Flash10u.ocx at 00108657. Invalid floating point operation
)。
- このコードをD5、D7、D9で試しました。
- SHDocVw.dllを再インポートしようとしました。
- また、TWebBroserの代わりにEmbeddedWBコントロールを使用しようとしました...
- Internet Explorer / Avant / Maxthonは、このHTMLに問題はありません(すべてIE ActiveXに基づいています)。
何か提案や修正はありますか?
このエラーをキャッチしたり、抑制したりするにはどうすればよいですか?
TWebBrowserイベントを介してその場でHTMLを操作または変更する方法はありますか?Ad-Blockersが機能するのと同じように、Flashプレーヤーの代わりに画像を表示できますか?(私の顧客はインターネット上のサイトにそのコードを持っており、私のDelphiアプリケーションは高速プレビューを提供します)
アップデート
TTimerを使用してFPUを有効/無効にしました(Arjenのアイデアに基づく):
更新(2)
アプリケーションの起動時にFPU例外をマスクすることになりました。それ以来、私のアプリケーションに(既知の)影響はありませんでした。
delphi - delphi-アイテムをラップ可能なTRadioGroup
必要に応じて、ラジオグループに存在するアイテムのテキストがテキストを折り返す方法について、Delphi5の小さな例が必要です。
Delphi 2006でbuttonsプロパティにアクセスして解決しましたが、D5ではこのプロパティは存在しません。
LE:SetWindowLong以外の解決策はありますか?
delphi - Delphi5-TFieldでのサイズの不一致
ADOQueryで、String Tfieldを作成し、そのサイズを24に設定しました(Fields Editorから)。
このフィールドに24文字の長さの文字列を割り当てようとすると(qry.fieldbyname('fieldname').asString
、最初の20文字だけが追加されます。理由がわかりません。
delphi - TIBDataSet.ExecSQL
私はデルファイが初めてで、とても気に入っています.デルファイ5のプロジェクトに取り組んでおり、次のようなコードを実行しました:
コードは 2 つの条件定義を使用します。最初の 1 つは完全に機能しますが、もう 1 つはコンパイラを狂わせます! 「ExecSQL」は何らかの理由で宣言されていない識別子だと言っています...
コードは問題なくコンパイルされるはずですが、何らかの理由で、ExecSQL が正しくないと叫びます。どんな助けも歓迎します。
delphi - Sybase 12.5-BDE-ADO "where myColumn=null"の失敗
SQLテキストファイルを読み込んでSybaseASE12.51に送信する古いアプリケーションがあります。従来のアプリはDelphi5で作成されており、このプロセスにBDE TQueryコンポーネントを使用し、BDE SQLinksforSybaseを使用してSybaseにアクセスしています。
擬似コード:
最近、DBアクセスレイヤーをDelphi XE ADO実装に移動しました。TADOQueryは、Sybaseが提供するADOプロバイダーを使用し、引き続き同じモデルを使用しています。
ADOに移行した後、特定のデータが欠落していることがわかりました。このSQL構造の失敗を追跡しました。
この構成はせいぜい意味的に疑わしいことを知っているので、このコードを見たときに「ダブルテイク」を実行しましたが、Sybase 12.5はそれを受け入れますが、ADOを使用すると、このセグメントは失敗します。
変更することにしました:
に
次に、欠落しているデータがロードされました。このセグメントと他のいくつかのセグメントについても、問題は解決されました。
誰かがこの振る舞いについて説明がありますか?BDEが通過したのに、ADOがこのシーケンスをインターセプトして拒否したのはなぜですか?
TIA