まず、GUI コードと非 GUI バックエンド コードが GUI アプリとライブラリに明確に分離されていない場合は、それらが明確に分離されていることを確認する必要があります。これにより、テストが容易になり、コマンド ライン インターフェイスや Web インターフェイスなどの実装も簡単になります。ほとんどの場合、これらのライブラリ (オブジェクトとプロシージャを含むユニット ファイル) は FreePascal で簡単にコンパイルできますが、非 GUI コードをチェックしてデバッグする必要があります。最初。
それが終わったら、GUI を見てみましょう。クローズド ソースのサード パーティの商用コンポーネントを多数使用している場合、GUI を簡単に変換することは難しいかもしれません。主にストック コンポーネントや Lazarus に移植されたコンポーネントを使用している場合は、実際に GUI を変換してそのまま使用できる場合があります。
Mac OS と Linux のプログラムは見た目が異なることが多いため、アプリケーションによってはそれを考慮する必要があることに注意してください。1. Windows でも Lazarus を使用し、すべてのプラットフォームで同じ GUI コードを使用します。2. OS X と Linux でのみ Lazarus を使用し、GUI をカスタマイズして、変換後に多少ネイティブに見えるようにします。3. OS X 用のネイティブ GUI をコーディングし (Cocoa とおそらく XCode を使用)、非 GUI 処理のために Pascal コードにリンクします。この種のことは Linux ではあまり必要ありませんが、LCL (VCL) バックエンドが作成するツールキットを選択できます。
それぞれのアプローチには強力な支持者がいますが、どれが正しいかは、「状況」と目標によって異なります。
主な関心が OS X である場合は、MacPascal リストへの参加を検討してください。
Linux/OS X アプリをほとんど変更せずに明日リリースする必要がない限り、Wine は非常にやり過ぎです。(その場合、なぜ VMWare を使用しないのでしょうか?)