問題タブ [fpc]
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.
cross-platform - Free Pascal/Lazarus でプラットフォーム間で構成フォルダー/ファイルを取得する方法は?
アプリケーションの構成を配置するファイルやフォルダーを提供する関数のセットはありますか?
各システムの適切な場所にあるフォルダーのみおよび/またはファイルのみを返すようにしたいと思います。
delphi - 拡張MAPIAPI呼び出しをキャプチャするカスタムMAPIdllを作成する方法
拡張MAPIを使用してOutlookを呼び出してメールを送信するレガシーアプリケーションがあります。Outlookは非常に不安定で、サービスとして実行されず、多くの電子メールを処理できないため、Outlookを置き換える方法を探しています。サードパーティのソリューションがない場合は、OutlookのMAPIdllをエミュレートするMAPIdllを作成する方法を理解する必要があると思います。私はいくつかのグーグルを行い、12個の単純なMAPI関数をエクスポートするコードを見つけましたが、拡張MAPIの情報はほとんどありませんでした。可能な限り、DelphiまたはLazarus(64ビットをサポートしますか?)を使用してdllを作成することを好みます。拡張MAPI呼び出しをキャプチャするために使用できる方法はありますか?その間、私はWINEドキュメントでいくつかの情報を見つけました-http ://source.winehq.org/WineAPI/mapi32.html
ポインタをいただければ幸いです。:)
lazarus - Lazarusでは、フォームにコンポーネントを追加する際に必要な単位を登録すると失敗します
ラザロ0.9.30.4
uses
コンポーネントをフォームにドロップするときに、ユニット句に複数のユニットを追加する必要があるコンポーネントを開発しています。
この記事から、デザイナーフックを設定し、必要なファイルをプロジェクトに追加して、ユニットをuses
句に追加する方法を発見しました。
コードサンプル:
デバッグ時に、ハンドラーが呼び出され、ユニットAddonUnit
がプロジェクトに追加されたことを確認しました(オブジェクト内のすべてのファイルを繰り返し処理しましたoProj
)が、結果はゼロになりました。実際には、プロジェクトまたはuses
句に何も追加されませんでした。
さらに、プロジェクトファイルコレクションoProj.Files[index]
は、プロジェクトに含まれているファイルではなく、現在開いているエディターファイルを返すことがわかりました。
私は何かが足りないのですかuses
、それとも条項またはプロジェクトに必要なユニットを含める別の方法がありますか?
delphi - EnumWindowsコールバックのパラメータを変更できません
Lazarus(Free Pascal)の次のコードを使用して、メインウィンドウのハンドルを取得しようとしています。
問題はParams.Test
、コールバックを実行した後もまだ1であるということです。関数Params
内のを変更したい。_FindMainWindow
注: 「アクセス違反」エラーが発生したためParams
、_FindMainWindow
直接アクセスできませんでした。
g++ - Freepascalは実際にgccよりも*はるかに*少ないメモリを使用しますか
http://benchmarksgame.alioth.debian.org/の言語シュートアウトベンチマークは、FPCプログラムがg++を使用する同等のプログラムが使用するメモリの約50分の1を使用することを示しています。これらのベンチマークは意図せずにfpcを支持しているのでしょうか、それともFPCがg ++よりもはるかに優れているというのは本当ですか?私は常にこれらのベンチマークをまともなマイクロベンチマークのコレクションと見なしてきました。50倍はかなり重要なIMHOであるため、これらの結果には驚いています。
参照:
http://benchmarksgame.alioth.debian.org/u32/pascal.php http://benchmarksgame.alioth.debian.org/u64q/pascal.html
編集:このページでは、pascalが一部のプログラムに8KBしか使用していないと主張している ため、これはさらに興味深いものになっています。これは驚くほど低いようです。
delphi - SomeObject.Free を待ちます。オブジェクトが FPC で既に解放されているかどうかを確認しますか?
オブジェクト (私の場合は TJSONData) があり、このオブジェクトを解放したい場合、プログラムフローがこの位置でハングすることがあります。私のコードには既に次のような構造がありますが、場合によっては適合しないようです:
オブジェクトを 2 回解放しようとすると、この動作をテストで再現できます。私のプログラムでは、これは通常は起こらないはずですが、今私の本当の質問:
オブジェクトがすでに解放されているかどうかを確認する方法はありますか? または、FreeAndNil(); も使用する必要がありますか?
delphi - メモリが読み取り可能かどうか、またはなぜ例外をキャッチしないのかを確認してください。
外部プロセスから挿入されたDLLから呼び出されるこのコードがあります。いくつかのメモリ範囲を読み取る必要がありますが、この行でセグメンテーション違反が発生することがありますDataBuffer := TCharPointer(Address + CharOffset)^;
。では、メモリが読み取り可能かどうかを確認する方法はありますか?
私も例外をキャッチしようとしましたが、何らかの理由でこれは機能していません。ホストプログラムはまだクラッシュします。
iphone - (Lua+iOS) lua_pushstring 使用時のエラー
コード:
問題: バリアント "B" と "C" を使用し、iPad でプロジェクトを起動すると、アプリケーションが起動時に点滅し、次のエラーで閉じます:
(iPad) コンソール ログのエラー:
バリアント「A」の場合、すべて問題なく、アプリケーションが正常に起動します。
興味深いことに、シミュレーターでコンパイルして起動すると、すべてのバリアント (「A」、「B」、「C」) がクラッシュすることなく動作します。
lua_pushstring のデバイスでアプリケーションがクラッシュする理由を知っている人はいますか?
freepascal を使用せずにこの問題に対処した人、または c++ を使用している可能性があります。お願い助けて。
frameworks - mvframework の FPC の GetTypeData().FloatType がコンパイルされない
http://leonardorame.blogspot.com.ar/2009_11_01_archive.htmlリンクでは、FPCと互換性のあるフレームワークを実装する方法について説明していますが、ユニット MvFrameworkSrvProvider.pas の 54 行目で、次の問題を解決できません。
case GetTypeData(PropInfo^.PropType).FloatType of
誰でもこれで私を助けてもらえますか?
前もって感謝します。ガブリエル
ここに完全なコード: PS: 申し訳ありませんが、コードを正しくマークしようとしましたが、方法がわかりません。