問題タブ [delphi-6]

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 投票する
2 に答える
536 参照

delphi - Windows 7のDelphi 6ストアドプロシージャ

私は Delphi 6 と SQL Server 2008 を使用しています。Windows Vista ではすべて正常に動作します。しかし、OS を Windows 7 に変更してから、プロジェクトをコンパイルしようとすると、すべてのプロジェクトでメッセージが表示されるようになりました。

ストアド プロシージャ (SPname) が見つからないか、サーバーに存在しません。

サーバーを見ると、正しい名前のストアド プロシージャがあります。ODBC 接続を使用し、SQL Server と SQL Native client 10.0 を試しましたが、問題は解決しません。ストアド プロシージャを実行しようとするまで、プロジェクトは問題なく DB に接続します。同じプロジェクトをビスタで再度実行すると、正常に動作します。あなたの誰かが私を助けることができれば、私は本当に感謝しています........

0 投票する
3 に答える
383 参照

delphi - Delphi 6 - 複数回コンパイルするとバグが消える

私の Delphi インストールは、過去数か月間、下り坂になっています。ただし、リリースをビルドすると、ビルド、コンパイル、ビルド、コンパイルなどを行うと解決される奇妙なエラーが頻繁に発生するようです。

これはコンパイラ エラーであると考えている別の開発者と話をしました。この種の時間の経過によるパフォーマンスの低下は、他のコンピューターでも発生しています。

スタック オーバーフローは何が問題であると考えていますか。

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

windows - Delphi - フォーム/MsgBoxesが以前のフォームの下に移動するのを防ぐ方法は?

Windows 98 時代以降、一部のダイアログで Z オーダーが失われ、以前の形式に戻ることが何度もありました。

例えば:

MessageBox が表示されると、フォーカスがなく、Dialog1 の下に移動することがあります。ユーザーはそれについて混乱しています。ただし、Alt+Tab を使用して別のアプリに移動して戻ると、フォーカスが MessageBox に戻り、それがフォアグラウンド ウィンドウになります。

これは、ShowMessage、MessageBox、通常のフォーム、および QuickReport フォームで経験しています。

誰もこれについて知っていますか?Windowsのバグですか?どうすればそれを防ぐことができますか? これをどう捉えるか?

助けてくれてありがとう: dd


Win98 以降とは本当に言ったので、すべての OS (Win7 も) がこの問題の影響を受けます。Delphi 6 Prof を使用したため、プロパティはデフォルト フォームでは機能しません。

メッセージ ダイアログは MessageBox + MB_APPLMODAL で制御できると誰かが言っていました。これは朗報ですが、多くの古いフォームやコンポーネント、サード パーティ ツールがあります。

そのため、フォームを差し替えてまったく新しい申請書を作成するのは大変な作業です。

しかし、これをやってみます。

答えは、これはアプリケーションの問題と Windows の問題の半分だということだと思います。Windows がこれを処理する場合と処理しない場合がある場合、それは Windows のバグのようです。しかし、適切なモーダル ウィンドウの作成を強制できる場合、それはプログラミングのバグです。

誰かが WS_POPUP フラグの意味を説明できますか? それは何らかの副作用がありますか、それともありませんか?

ありがとう: dd

0 投票する
5 に答える
7425 参照

c# - Delphi - C# ロックに相当するものはありますか?

Delphi でマルチスレッド アプリケーションを作成していて、共有リソースを保護するために何かを使用する必要があります。

C# では、「lock」キーワードを使用します。

Delphi では、似たようなものを見つけることができませんでした。TThread.Synchronize(someMethod) メソッドだけを見つけました。これは、メイン VCL スレッドで someMethod を呼び出すことによって潜在的な競合を防ぎますが、それはまさに私がやりたいことではありません....

編集:Delphi 6を使用しています

0 投票する
8 に答える
17167 参照

delphi - Delphi の公開クラス メンバと公開クラス メンバの違いは何ですか?

Delphi の公開クラス メンバーと公開クラス メンバーの違いを教えてください。

Delphi ヘルプを調べてみましたが、これらのメンバーの可視性は同じであることは理解していますが、どのように異なるのか、公開メンバーの代わりに公開メンバーをいつ使用する必要があるのか​​ よくわかりません。

どうもありがとう。

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

sql-server - Delphi6を使用してSQLServerからUnicode文字列を読み取る

nvarchar(max)Delphi6とADOを使用してSQLServer2008データベースからフィールドを読み取る必要があります。Unicodeテキストは問題なく処理できますが、ADOコンポーネントは、文字列を確認する前に、文字列をコードページに「事前変換」しているようです。

TBlobFieldとしてフィールドにアクセスしようとしましたが、変換されたバージョンも表示されます。5つの漢字を表す10バイトのデータを格納しており、BlobSizeは5を返します。

誰かが、変換せずにblobフィールドから生のメモリを取得する方法を提案できますか?

0 投票する
3 に答える
2545 参照

delphi - フォームが閉じられ、別のインスタンスが開かれた後、「フォームはすでに存在します」。デルファイ

私はこの奇妙な問題に遭遇し続けます。それはほとんどランダムに見えますが、私はアプリケーションを実行してフォームを開き、それを使っていくつかの作業を行い、それを閉じます。次にそのフォームの別のインスタンスを開くと、既存のフォームに関するエラーメッセージが表示されます。これは非常に奇妙で、エラーを常に再現することはできませんでした。

それが助けになるなら、私はまだDelphi6を使用しています。これが起こっている理由や、それを防ぐために私にできることはありますか?

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

delphi - Delphi 6 でのコード構文の強調表示(構文と ifdef ブロックを強調表示するため)

Delphi 6 はかなり古いものです。残念ながら、ここでは触れたくないアップグレードできない理由があります。

私の問題は、コードが読みにくいことです。少し役立つ Castalia プラグイン (括弧の一致、if、else、end のブロックの表示) がありますが、他の IDE のように構文 (変数、定数、プロシージャなど) を異なる色で強調表示しません。また、非常に紛らわしい場合がある IFDEF ブロックも表示されません。

Delphi 6 では、これらの機能の一部またはすべてを実行できるプラグインは何ですか?

0 投票する
5 に答える
2866 参照

delphi - Delphi-アプリケーションが終了すると、解放されていない(ただし終了した)スレッドはどうなりますか?

マルチスレッドアプリケーションがあり、アプリケーションの終了時に少し問題があります。イベントハンドラーでTThread.Terminateメソッドを呼び出すことでスレッドを正しく終了できますForm1.OnDestroyが、終了に時間がかかるため、(TThread.Freeメソッドで)メモリを解放できません。残念ながら、他の理由でTThread.FreeOnTerminateプロパティをfalseに設定する必要があるため、スレッドの終了後にスレッドオブジェクトが自動的に破棄されることはありません。

私の質問はおそらく少しばかげているので、ずっと前に知っていたはずですが、これで問題なくスレッドが自動的に破棄されるのでしょうか(アプリケーションが終了したばかりなので)、それとも問題でメモリが「失われる」のでしょうか。 ?説明ありがとうございます。

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

delphi - FreeMem(Delphi 32)を呼び出す前にメモリが割り当てられているかどうかを確認する

オブジェクトがなんらかの方法で解放されるというエラーが発生しましたが、オブジェクトに対してFreeMemを呼び出すことになります。もちろん、メモリはすでに解放されており、エラーがスローされるため、これによりエラーが発生します。

try-catchブロックでおそらく修正されることはわかっていますが、それは多くのtry-catchブロックです。通常のobject.freeでは、これを回避する方法はFreeAndNil(object)ですが、FreeMemに相当するものが見つかりません。解放する前に割り当てられているかどうかをテストするもの。

読みやすさ、保守性、安定性の点で、ここでの最善の解決策は何ですか。