問題タブ [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.
web-services - delphiWebサービスを使用してテーブル内のデータを削除する
デルファイでの私のプログラムに関してこの問題があります。このリクエストURLを使用してテーブル内のデータを削除したい:http://localhost:8001/delete/woodSpecie?json={"SessionID":"MVykZKX31d19dYnywxsXM1MdPy0U7VW8","wood_specie_id":"80"}
私は実際にWebサービスを作成しています。
以下は私のデルファイコードです:
何が起こったのかというと、このエラーメッセージが返されます。
何が悪かったのか本当にわかりません。削除できず、そもそもテーブルが空ではありません。また、すべての例外を確認することはできませんでした。
delphi - Delphi を介した実行時の odbc データソース接続
実行時に ODBC データソース接続を作成できますか? はいの場合は、それを行う方法について助けていただけますか。現在、[コントロール パネル] -> [管理ツール] -> [データソース] から ODBC データソース接続を手動で作成しています。しかし、ユーザーがアプリケーションを実行するときに、実行時にそれを作成したいと考えています。
助けてくれてありがとう。
delphi - Unicode以外のDelphiバージョンでDiacraticを使用してWideStringを作成するにはどうすればよいですか?
私は次の(テスト)を構築しようとしていますWideString
:
しかし、それを分解した形で使用する:
だから私はコードフラグメントを持っています:
それが機能していないように見えることを除いて:
これはのバグである可能性MessageBox
がありますが、先に進んで、バグが私のコードにある可能性が高いと言います。
私が試した他のいくつかのバリエーション:
ボーナスおしゃべり
delphi - Delphi 5にはソートされた辞書コンテナがありますか?
私はDelphi5を初めて使用map
し、C ++と同じ機能(つまり、ソートされた辞書)を実行するコンテナー(理想的には組み込みのコンテナー)を探しています。私は予備的なグーグル検索をしました、しかし明白なものはそれ自身を示唆しているようには見えません。誰かが私を正しい方向に向けることができますか?
string - フロートまたは通貨をローカライズされた文字列に変換するにはどうすればよいですか?
Delphi 1では、FloatToStrF
またはを使用すると、小数点を表すCurrToStrF
ために文字が自動的に使用されます。DecimalSeparator
残念ながらDecimalSeparator
、SysUtilsではChar
1,2として宣言されています:
最大3文字までLOCALE_SDECIMAL
使用できます。
小数点に使用される文字(「。」など)。「3.14」または「、」の「3,14」。この文字列に許可される最大文字数は、終了ヌル文字を含めて4文字です。
これにより、Delphiは小数点の読み取りに失敗します。""のデフォルトの小数点を想定するためにフォールバックします.
:
私のコンピューターでは、かなりの文字ですが、これにより、浮動小数点と通貨の値がU + 002E(終止符)の小数点で誤ってローカライズされます。
浮動小数点または通貨の値をローカライズされた文字列に変換するように設計されたWindowsAPI関数を直接呼び出します。
これらの関数を除いて、画像コードの文字列を取ります。許可される文字は次のとおりです。
- 文字「0」から「9」(
U+0030
..U+0039
) .
数値が浮動小数点値の場合は小数点1桁(U+002E
)- 数値が負の値の場合、最初の文字位置のマイナス記号(
U+002D
)
浮動小数点または通貨の値をそれらの規則に従う文字列に変換するための良い方法1は何でしょうか?例えば
1234567.893332
-1234567
ローカルユーザーのロケール(つまり、私のコンピューター)を考えると、次のようになります。
-
負の値を示すためにaを使用しない場合があります(例--
).
小数点を示すためにaを使用しない場合があります(例,,
)0123456789
数字を表すためにラテンアルファベットを使用しない場合があります(例:[SO javascriptパーサーをクラッシュさせる削除されたアラビア数字])
私が使用できる恐ろしい、恐ろしい、ハック:
VCLが使用する一連の機能に関する追加情報:
FloatToStrF
とCurrToStrF
呼び出し:
ノート
DecimalSeparator: Char
、1文字のグローバルは非推奨になり、別の1文字の小数点記号に置き換えられました
私のバージョンのDelphi2
と現在のバージョンのDelphiでは1
delphi - 通貨の値をNAN、INF、または-INFに設定しますか?
いくつかのコードをテストして、それが処理され、正しく入力されることを確認したいと思いNAN
ます。INF
-INF
、、を返す関数が存在することは 知っていますが、:としてNAN
INF
-INF
Double
私の場合を除いて、aCurrency
がこれらの3つのエッジケース値の1つであるかどうかをテストする必要があります。Double
残念ながら、これらのいずれも:に変換することはできません。
をに変換すると、EInvalidOp
無効な浮動小数点演算の例外が発生します。Double
NAN
Currency
にを割り当てることは可能ですか?NAN
Currency
おそらく、 aをに割り当てることは可能ではなく、代わりに不可能です-そして私はこのエッジケースを無視することができます。NAN
Currency
このエッジケースを無視できますか?
「通貨の値をNAN、INF、または-INFに設定する」ことはできますか?
delphi - 解放された後に誰かが私の TADOConnection を使用したことを検出しますか?
今日、同僚が、Windows XP では機能するが Windows 7 では機能しないコードのエラーを報告してくれました。
ユーザーが「SalesOrdersystem」にログインできませんでした
私の物理的なデバッグは、閉じられたデータベース接続に対してクエリを実行していたか、開くのを忘れていたことを教えてくれました。
ADO2.6 以降、Windows Vista では、
PersistSecurityInfo
接続文字列の の既定値はFalse
ではなく ですTrue
。Windows Vista より前の接続文字列は次のとおりです。
接続が開かれた後、接続文字列にパスワードが保持されます。これは、次のようになります。
Windows Vista 以降では、パスワードは既定で接続の
ConnectionString
プロパティから削除されます。これは
パスワードが削除されるというこの動作が同僚に発生していることは知っていました。そして、接続が閉じられている間、彼は暗黙的に接続を開こうとするクエリ (つまり、ADOQuery.Open) を開こうとしています。しかし、接続文字列にパスワードが保存されていないと、元のエラーが発生します
質問は、「最初に開かずに接続を使用するのはなぜですか?」という質問になりました。
後で解放される接続を使用していた (マルチスレッド コード) までさかのぼって追跡しました。
疑似コード:
それよりも
冗談で、接続文字列を次のように変更することで、エラーをマスクし、クラッシュの可能性を残すことができると提案しましたPersistSecurityInfo=True
。
彼がしたこと。
内部でオブジェクトを使用するライブラリ コードがいくつかありADOConnection
ます。コードを次から変更できるようにしたいと思います。
に
しかし、以前は機能していたエラーが発生すると確信しています。
私が考えているのはOnConnect
、接続オブジェクトにハンドラーを挿入できるある種のクロージャーです。
しかし、Delphi には匿名のイベント ハンドラがありません。
オブジェクトが解放された後、オブジェクトを使用しているときに人々に警告できる方法を考えられる人はいますか?
注:私が求めていることに対するサポートがないことを理解しています。現実の限界を考慮して、可能な限り最高のハックのアイデアを求めています。
delphi - FastMM がメモリ リークを検出できない
Delphi5 のアプリケーションで FastMM 4.97 を使用しています。
テスト目的で意図的なリークを使用して IDE からアプリケーションを実行すると、すべてがうまく機能します。適切な通知とエラー ログが表示されます。
ただし、IDE の外部でアプリケーションを実行しても何も起こりません (たとえば、Windows エクスプローラーから .exe ファイルを実行します)。
何か不足していますか?この動作は意図したものですか? 変更できますか?
delphi - Delphiでhttp認証を使用してURLを開く方法は?
ログインとパスワードを透過的に渡す「http認証」が必要なURL(ブラウザウィンドウ)を開く方法は?Delphi のレガシ アプリでは、Reporting Services から ".aspx" でレポートを開く必要があります。
ありがとう、セルソ
delphi - ライブラリと互換性のないDelphi5
Delphi 5のアプリケーションプロジェクトにアドバンテック(BDaqCL.pas)ライブラリを追加しようとしていますが、.PASファイルには次のようなコードが含まれています。
これによりエラーが発生します:
これは、D5と互換性のないDelphiの新しいバージョンの機能ですか?もしそうなら、すべての人を手動で変更する価値がありますか(多くあります)、それとも私はもっと深刻な問題に遭遇することになりますか?
編集:ほとんどの列挙は上記のとおりですが、以下のようにもっと複雑なものもたくさんあります。手動で行うには多すぎます:
編集:私はそれらを定数として宣言するプロセスを始めています。次のことを行うのが正しいかどうか誰かに教えてもらえますか
ここで、var宣言をリストしたままにして、const宣言を一番上に移動します。
constが何にも等しくない場合、どうしたらよいかわかりません。たとえば、
ご覧のとおり、私は自分の仕事を切り取っているので、最初にそれを正しく行っていることを確認するのが最善です。ありがとう