メソッドを動的に呼び出すことができる Delphi 2009 以前の無料ライブラリを知っている人はいますか?
私はこのために独自のコードを書き始めましたが、それは私を超えていると感じています。
ありがとう
あなたの質問はかなり曖昧です。実行時バインディングとスクリプトに加えて、実行時まで名前がわからないメソッドを使用することを意味する場合があります。
これは、COMメソッド(バリアント型を使用)またはRTTIを使用して検出および呼び出されるDelphiメソッドの2つのカテゴリに分類されます。RTTIは最新のDelphiバージョンで変更されています が、 http: //www.blong.com/Conferences/BorConUK98/DelphiRTTI/CB140.htmがD2009に適用されると思います。
「メソッドを動的に呼び出す」には、さまざまな意味があります。virtual
単純な遅延バインディングは、 orとして宣言されたメソッドの形式で言語に組み込まれており、dynamic
おそらくそれらを常に使用しますvirtual
。
しかし、「メソッドを動的に呼び出す」ことについて話すと、一般的にスクリプトの領域に入り、オブジェクトを取得して、メソッドの名前を使用して呼び出すメソッドを実行時にエンドユーザーに決定させることができます。それが必要な場合は、Delphi 用のスクリプト ライブラリが必要です。
DWS (Delphi Web Script) は非常にうまく機能し、著者は D2009 をサポートしていると主張していますが、XE で活発な開発作業が行われています。また、名前が示すように、DWS は主に Web 開発を念頭に置いて設計されているため、スクリプトをネイティブ コード領域のオブジェクトにバインドするためのフレームワークは、本来あるべきよりもはるかに複雑です。
もう 1 つの主要な代替手段は、RemObjects のPascalScriptライブラリです。D2009 よりも前のバージョンをサポートし、オブジェクト バインディングのシステムは DWS よりもはるかに単純です。残念なことに、これは非常に遅く、作成者によって十分にサポートされていません。ただし、特に単純なスクリプトの場合は、いずれかを使用して、ユーザーがプログラム内のものを動的に自動化できるようにする必要があります。