問題タブ [delphi-2005]

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 に答える
1180 参照

delphi - DELPHI: WSDL インポート エラー

Delphi 2005 を使用して、ここから WSDL をインポートしています: https://certtransaction.elementexpress.com/express.asmx?wsdl

この WSDL をインポートすると、タイプの 1 つが「TransactionSetup」であり、正しくインポートされません。ドキュメントによると、「TransactionSetup」には次のものが必要です。

私が得るものは次のとおりです。

私が見つけた1つのことは、「TransactionSetup」という名前のメソッドとタイプがあり、インポーターがメソッドのパラメーターを何らかの形でタイプパラメーターとしてキャプチャしているように見えることです。インポートされたメソッドは次のとおりです。

インポーターに「TransactionSetup」タイプの正しいタイプパラメーターを取得させる方法はありますか?

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

delphi - DELPHI: TComponent で HTTPRIO.OnBeforeExecute を宣言する

Delphi 2005 を使用して、(TForm を使用して) テスト アプリを作成し、SOAP API をテストしました。残念ながら、この API は、Delphi によって予約されているいくつかの列挙型 (アプリケーション、システム、およびターミナル) を宣言しています。SOAP ファイル (_Application、_Terminal、および _System) の列挙型の名前を変更し、OnBeforeExecute および OnAfterExecute メソッドを記述して、これらの名前が変更された列挙型を送信前と送信後に元の名前に置き換えることができました。

現在、これをより大きなプロジェクトに組み込もうとしており、この SOAP API のすべてのコードをクラス ファイル (フォームなし) に取り込みたいと考えています。テスター アプリを使用して、(ツール パレットから) THTTPRIO オブジェクトをフォームに追加し、オブジェクト インスペクターで OnBeforeExecute メソッドと OnAfterExecute メソッドを簡単に設定できました。クラス (TComponent) を使用すると、フォームで行ったようにツール パレットを使用して THTTPRIO オブジェクトを追加できません。コードを使用して THTTPRIO オブジェクトを作成しようとしましたが、エラーが発生します。

エラーが発生E2009 incompatible types: 'Parameter lists differ'し ますFEPS_HTTPRIO.OnAfterExecute := HTTPRIOAfterExecute;(以下のコードを参照)

これでエラーが発生するのにエラーが発生するのはなぜ FEPS_HTTPRIO.OnBeforeExecute := HTTPRIOBeforeExecute;ですか?また、クラス内にこれら 2 つのメソッドを実装するにはどうすればよいですか?

コードで THTTPRIO を作成する方法は次のとおりです。

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

delphi - Delphi 2005 が SQL 行を入力するとフリーズする

解決できない問題があります。

私は Delphi 2005 でプロジェクトを作成しました。古いフォームをコピーし、その名前を編集し、必要な変更をプログラミングしてフォームを作成しました。

アプリケーションは正常に動作しますが、ソース コードを書いているときに次の行に入力すると、

数秒間フリーズし、bds プロセスは CPU の 25% を使用します。このフォームでのみ発生し、理由はわかりません。

ヒントはありますか?

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

delphi - フォームは 2 つのフレームを作成します - フレーム 1 内からフレーム 2 のプロシージャを呼び出す方法は?

現在、フレーム 1 はループ (Serial Comport からのデータを探している) にあり、別のユニットで文字列変数 A に書き込みます。Frame1 は、別のブール変数 B が true になるまでループします。これは、Frame2 がそのルーチンを処理したことを意味します。フレーム 2 はタイマーを使用して変数 A の変更をチェックし、変数が変更されたときにプロシージャを実行し、ブール変数 B を true に設定します。フレーム 1 でループし、変数 B が true になることを確認すると、おそらくメッセージ キューが空にならないため、フレーム 2 でタイマーを起動できなくなります。

今のところ、私は睡眠(xxx)でしか自分を助けることができません。しかし、私はより良いパフォーマンスが欲しいです。

助けてください :)

ありがとうございました

Edit1: トピック ヘッダーのポイントに言及するのを忘れていました。タイマーをなくしてframe2の手続きを直接呼びたい。

Edit2: コード:

フレーム 1:

フレーム 2: コード: