====== Häufige Fragen (FAQ) ====== Antworten auf häufige Fragen zu den WvdS FPC Tools. ===== Installation und Setup ===== ==== Welche VS Code Version wird benötigt? ==== **Mindestens VS Code 1.85.0.** Empfohlen: aktuellste stabile Version. Prüfung: code --version ==== Muss ich Lazarus installieren? ==== **Nicht zwingend, aber empfohlen.** * **Mit Lazarus:** Alle Features (lazbuild, LCL-GUI, Form Designer, pas2js) * **Ohne Lazarus:** Nur FPC Direct-Builds, keine LCL-GUI-Projekte Für Desktop-GUI-Projekte mit LCL ist Lazarus erforderlich. ==== Funktioniert es auf Linux/macOS? ==== **Primär Windows.** Linux ist über WSL unterstützt. ^ Feature ^ Windows ^ Linux (WSL) ^ macOS ^ | FPC-Kompilierung | Ja | Ja | Geplant | | LCL-GUI Projekte | Ja | Ja | Geplant | | pas2js | Ja | Ja | Geplant | | InnoSetup | Ja | Nein | Nein | | Form Designer | Ja | Ja | Geplant | | WSL Cross-Compilation | Ja | N/A | N/A | ==== Wie deinstalliere ich die Extensions? ==== code --uninstall-extension wvds.wvds-fpc-tools Oder einzeln: code --uninstall-extension wvds.wvds-fpc-solution-manager code --uninstall-extension wvds.wvds-fpc-pas2js-studio code --uninstall-extension wvds.wvds-fpc-iss-designer Alternativ: In VS Code Extensions → Rechtsklick → **Uninstall** ==== Brauche ich alle drei Extensions? ==== **Nein.** Solution Manager ist eigenständig lauffähig. * **Nur FPC/Lazarus:** Nur Solution Manager installieren * **+ pas2js/Web:** Solution Manager + PAS2JS Studio * **+ Installer:** Solution Manager + ISS Designer * **Alles:** Extension Pack ''wvds.wvds-fpc-tools'' (empfohlen) ===== Kompilierung ===== ==== Warum findet FPC meine Units nicht? ==== **Mögliche Ursachen:** - **Unit-Pfade nicht konfiguriert** — Rechtsklick auf Projekt → Properties → Paths - **Falsche Groß-/Kleinschreibung** — Linux/macOS sind case-sensitive - **Package fehlt** — Rechtsklick auf Projekt → Add Required Package **Lösung:** Unit-Suchpfade in den Projekt-Properties (Tab "Paths") hinzufügen. ==== Was bedeutet "Fatal: Can't find unit..."? ==== FPC kann eine referenzierte Unit nicht finden. **Lösungsschritte:** - Schreibweise in der ''uses''-Klausel prüfen - Prüfen ob die Unit-Datei existiert - Pfad zu den Unit-Suchpfaden hinzufügen (Properties → Paths) - Bei Packages: Required Package hinzufügen ==== Wie kompiliere ich für verschiedene Plattformen? ==== **WSL Cross-Compilation (Windows → Linux):** - WSL mit Linux-Distribution installieren - FPC/Lazarus in WSL installieren - ''fpc-solution-manager.wslEnabled'' auf ''true'' setzen - WSL-Distribution und Pfade konfigurieren - **Build for Linux (WSL)** ausführen **Native Cross-Compilation:** - FPC-Cross-Compiler für Zielplattform installieren - Target in Projekteinstellungen wählen ==== Warum ist meine Kompilierung langsam? ==== **Mögliche Ursachen:** - **Antivirus** — Ausnahme für Projektordner und FPC-Verzeichnis hinzufügen - **Viele Units** — Inkrementellen Build nutzen (Build statt Rebuild) - **Netzwerklaufwerk** — Lokalen Speicher verwenden **Tipps:** - "Build" statt "Rebuild" verwenden (nur geänderte Units) - Build-Timeout erhöhen: ''fpc-solution-manager.buildTimeoutSeconds'' ==== Was ist der Unterschied zwischen lazbuild und FPC Direct? ==== | Aspekt | lazbuild | FPC Direct | ^ Voraussetzung | Lazarus installiert | Nur FPC | ^ LCL-Projekte | Ja | Nein | ^ Package-Auflösung | Automatisch | Manuell | ^ Geschwindigkeit | Etwas langsamer | Schneller | FPC Direct wird automatisch als Fallback verwendet wenn kein ''lazbuild'' konfiguriert ist. ===== Form Designer ===== ==== Was ist der Unterschied zwischen LFM und WFM? ==== ^ Aspekt ^ LFM (Solution Manager) ^ WFM (PAS2JS Studio) ^ | Zielplattform | Desktop (LCL) | Web (Browser) | | Dateiendung | ''.lfm'' | ''.wfm'' | | Rendering | Native Windows/Linux/macOS | HTML/CSS im Browser | | Lazy-Editor | Form Designer | Web Form Designer | ==== Kann ich bestehende Lazarus-Formulare öffnen? ==== **Ja.** Der Form Designer öffnet ''.lfm'' Dateien direkt. Voraussetzung: * Die zugehörige ''.pas'' Unit muss vorhanden sein * Verwendete Packages müssen installiert sein (oder Komponenten-Katalog nutzen) ==== Warum werden manche Komponenten nicht angezeigt? ==== Der Form Designer kennt nur registrierte Komponenten. Für Drittanbieter-Packages: - ''fpc-solution-manager.designer.componentPackages'' konfigurieren (Pfad zur ''.lpk'') - ''fpc-solution-manager.compcatgen.enabled'' aktivieren - Der Komponenten-Katalog wird automatisch generiert ===== pas2js ===== ==== Was ist pas2js? ==== **pas2js** ist ein Pascal-to-JavaScript Compiler, der Object Pascal in JavaScript übersetzt. Damit können VSCode Extensions und Web-Anwendungen in Pascal geschrieben werden. ==== Wo bekomme ich pas2js? ==== pas2js ist im **Lazarus-Bundle** (ab Version 3.0) enthalten. Separater Download: [[https://wiki.freepascal.org/pas2js]] ==== Wie debugge ich eine pas2js Extension? ==== - Debug-Build erstellen (mit Source Maps) - Extension in Development Host starten (''F5'' in VSCode) - Breakpoints in Pascal-Quellen setzen - Developer Tools öffnen (''Help'' → ''Toggle Developer Tools'') ===== Projekte ===== ==== Wie erstelle ich ein Multi-Projekt-Workspace? ==== **Option 1: Projektgruppe (.lpg)** - Rechtsklick im Tree View → **New Project Group** - Projekte zur Gruppe hinzufügen **Option 2: Multi-Root Workspace** - ''File'' → ''Add Folder to Workspace...'' - Mehrere Projektordner hinzufügen ==== Kann ich Delphi-Projekte (.dpr) öffnen? ==== **Teilweise.** Pascal-Syntax wird unterstützt, aber: * Delphi-spezifische Units (VCL, RTL) fehlen * Projektdateien (''.dproj'') werden nicht gelesen * Empfehlung: Projekt nach FPC/Lazarus migrieren ==== Wie teile ich Code zwischen Projekten? ==== - **Lazarus-Package (.lpk):** Erstellen, Units hinzufügen, als Required Package verwenden - **Shared Unit Search Paths:** Gemeinsame Ordner in den Projekt-Properties konfigurieren - **Projektgruppe:** Projekte in einer ''.lpg'' zusammenfassen ===== InnoSetup ===== ==== Brauche ich InnoSetup separat installieren? ==== **Ja.** InnoSetup muss separat installiert werden: [[https://jrsoftware.org/isinfo.php]] Der ISS Designer nutzt ''iscc.exe'' (InnoSetup Command-Line Compiler). ==== Wie signiere ich meinen Installer? ==== - ''signtool.exe'' installieren (im Windows SDK enthalten) - Zertifikat (''.pfx'') beschaffen - Settings konfigurieren: * ''fpc-iss.signTool.path'' — Pfad zu ''signtool.exe'' * ''fpc-iss.signTool.certFile'' — Pfad zur ''.pfx'' - Rechtsklick auf ''.iss'' → **Sign Installer** ===== Fehlerbehebung ===== ==== Extension wird nicht aktiviert ==== * Prüfen ob ''.lpi'', ''.lpg'', ''.lpk'' oder ''package.json'' im Workspace vorhanden ist * Output Panel → **FPC Solution Manager** Kanal prüfen * VSCode neu laden: ''Ctrl+Shift+P'' → ''Developer: Reload Window'' ==== Compiler nicht gefunden ==== * Pfade in den Settings prüfen (''fpc-solution-manager.fpcPath'', ''fpc-solution-manager.lazbuildPath'') * **Setup Toolchain** Wizard ausführen: ''Ctrl+Shift+P'' → ''Setup Toolchain'' * FPC-Installation prüfen: ''fpc -v'' im Terminal ==== pasls (Language Server) funktioniert nicht ==== * ''fpc-solution-manager.pasls.enabled'' auf ''true'' prüfen * Pfad zu ''pasls.exe'' in ''fpc-solution-manager.paslsPath'' setzen * ''fpc-solution-manager.lazarusSourcePath'' muss auf Lazarus-Quellen zeigen * Output Panel → **pasls** Kanal prüfen ==== Wo finde ich Logs? ==== * **Output Panel:** ''View'' → ''Output'' → Dropdown **FPC Solution Manager** * **Developer Tools:** ''Help'' → ''Toggle Developer Tools'' → Console-Tab * ''fpc-solution-manager.logLevel'' auf ''debug'' setzen für detaillierte Logs ===== Weitere Fragen? ===== * [[.:start|Dokumentation]] * [[.:installation|Installation und Konfiguration]]