問題タブ [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.
delphi - プロパティとしてのクラス参照
特定の質問にまったく関係のない何億もの結果が得られるため、Google はこの種の検索には役に立ちません。
質問は単にこれです:
- Delphi でクラス参照プロパティを使用することは可能ですか?
- もしそうなら、どのように?
これが私が試したことです...
上記のコードは正常にコンパイルされますが、オブジェクト インスペクタにはObjectType
プロパティがまったく表示されません。
ここでの私の目的 (まだ推測していない場合) は、特定の基本クラスからクラスの子孫を選択して、同じコンポーネントを別の方法で動作させることができるようにすることです。
コンポーネントがサブクラスについて直接知る必要がないように、このようにしたいと思います(完全にモジュール化する必要があります)。
このビットを明確にさせてください:コンポーネントはサブクラスの型に直接リンクできないため、Enumを使用してサブクラスの型を選択することはできません(この特定のケースでは単に不可能です)
とにかく... よろしくお願いします!
pascal - TStringList.Sortはソートされたインデックスを返すことができますか?
TStringList.Sortを使用して文字列のコレクションをフリーパスカルで並べ替えるには、最初の順序を覚えておく必要があります。ソートされたインデックスを返す可能性はありますか?そうでない場合、これを効率的に行うにはどうすればよいですか?
delphi - シンプルな Delphi 3d 関数
Delphi の必要最小限の古い学校の 3D メソッドの例を教えてくれる人はいますか? openGL、firemonkey、または外部ライブラリ (バニラ キャンバス コーディング) を使用していません。私がやりたいことは、共通のオリゴを中心に X 数のポイントを回転できるようにすることです。私が昔から覚えていることから、オリゴが常に0,0になるように(3Dポイントで)左から右を引きます-次に計算を実行し、最後に左/上のピクセルオフセットを追加して実際の画面位置を取得します。
私が探しているのは、一連の小さなアドホック ルーチンです。
- RotateX(aValue:T3dpoint; degr:float):T3dPoint;
- RotateY(--/--)
- RotateZ(--/--)
これらの関数を使用すると、古い「回転する 3D キューブ」を簡単に作成できます (8 ポイント)。
また、目に見える「顔」を把握するための機能はありますか? 塗りつぶされたベクトル キューブが必要な場合は、(距離/オーバーラップに基づいて) 可視領域を抽出する必要があると思いますが、これは塗りつぶされたポリゴンの X 数として描画されますか? そして、これらは間違いなく、混乱しないように深さでソートする必要があります.
例えば:
- PointsToFaces(const a3dObject:T3dPointArray):TPolyFaceArray;
- SortFaces(Const aFaces:TPolyFaceArray):TPolyFaceArray;
どんな助けでも大歓迎です!
delphi - コンパイルされたアプリケーションのロケールIDを設定するようにFreePascalコンパイラに通知する方法
Delphiでは、プロジェクトのプロパティを表示するときに、[バージョン情報] ->[言語]->[ロケールID ]オプションがあります。
私は、FreePascalでコンパイルされているプログラムにそのようなプロパティを設定する方法をさまよっていました。
任意の解決策を歓迎します:コマンドライン引数または;などのプリプロセッサディレクティブ。{$key value}
Delphiと同等です。
ide - コマンドラインからLazarusにIDEなしでパッケージをインストールする
(この)記事 を使用して、コマンドラインからIDEへのパッケージのインストールを自動化しようとしています。
IDEを使用すると、パッケージが正しくインストールされ、コンポーネントがLazarusパレットに表示されます。
記事の手順を確認するために、IDEでインストールした後、ファイルを一時フォルダーにコピーしidemake.cfg
たのでpackagefiles.xml
、そこにパッケージを登録しました。 staticpackages.inc
C:\Users\<user_name>\AppData\Local\lazarus
その後、成功せずに試しました
。1.IDEから
パッケージをアンインストールしました
。2。make clean all
から呼び出しました。3。パッケージをc:\Lazarus
呼び出しlazbuild
てビルドしまし
た。4。保持されているすべてのファイル(、、idemake.cfg
およびpackagefiles.xml
)staticpackages.inc
をC:\Users\<user_name>\AppData\Local\lazarus
コピーしました。
7で最終的に8から呼び出されます
。代わりに試して同じ結果になりましたidemake.cfg
c:\Lazarus
.lpl
C:\Lazarus\packager\globallinks
make idepkg
C:\Lazarus
make bigide
lazbuild --build-ide=
Lazarus IDEがビルドされて起動されたとき、インストールされたパッケージの中に自分のパッケージが表示されていましたが、でマークされていましたgreen "+"
。パレットも私のコンポーネントを逃しました。
次に選択するとTool -> Build Lazarus with profile: Build IDE with Packages
、IDEが2回再構築された後、パッケージが正しくインストールされます。
バージョン情報:
ラザロ:0.9.30.2
FPC:2.4.4
OS:Win 7
私は何かが足りないのですか?IDEなしでコマンドラインからパッケージを登録する代替手段はありますか?
前もって感謝します。
ubuntu - Free Pascal/Lazarus での Unity のグローバル メニューとオーバーレイ スクロールバーの処理
IDE でいくつかの問題が発生しましたが、グローバル メニューとオーバーレイ スクロールバーの設定を解除して無効にすることで修正されました。
Lazarus' Mantis: #0021465、#0021467の問題を報告しました。
それについてもう少し話しているこのバグレポートもあります:#0019266
彼らの解決策は、設定解除を使用してグローバル メニューとオーバーレイ スクロールバーをオフにすることでした。
問題について簡単に検索したところ、Launchpad に未解決のバグ レポートがあります:オーバーレイ スクロールが lazarus で壊れています。
それで、問題は「lib overlay scrollbar」に関連していますか?
そうである場合、グローバル メニューとオーバーレイ スクロールバーの両方をオフにしないようにするためのコードによる解決策はありますか?
そうでない場合、問題に注意して修正している人はいますか?
どうもありがとう、ガス
file - FreePascalでファイルを読み取る
指定された構造、つまり(各行に対して)char、space、char、space、double value、endlineのテキストファイルがあります。例えば
Free Pascalでこれらの値を「抽出」する適切な方法は何ですか?
linux - Freepascal、Indy SVNトランクバージョン、エンコード変換を削除するまで、XMLを転送するときにPHPクライアントは何も受信しません
フロントエンドレイヤーとしてPHPと通信するサーバーデーモン(Linux、Ubuntu)を作成しました。
最近、FPCとIndyライブラリの両方をFPC 2.6.0に更新し、Indyをトランクバージョンに更新しました(Tiburonブランチを使用する前)。
すべてコンパイルされ、すべて正常に見えましたが、IOHandlerに書き込むときに、(PHPクライアントによって)何も受信されない場合、クライアントは0バイトが受信されたことを報告します。
問題を詳しく調べた後、IOHandlerのwriteメソッドを使用すると、IdGlobal.pasのToBytes()メソッドで、応答が送信される前にエンコーディングが検証および変換されることがわかりました。
ここで、ToBytes()ルーチンの変換行をコメントアウトすると、
今回は、PHPクライアントが応答を受け取ります。
私の質問は、データのエンコードを停止するようにIndy tcpサーバーまたはIOHandlerを構成するにはどうすればよいですか?
pascal - パスカルでのタイプチェック
パスカルで型チェックを行うにはどうすればよいのでしょうか。私は今何時間も探していましたが、役に立つものを見つけることができませんでした。
例: