33 Stimmen

Lazarus: Programm ohne GUI - Viele WSRegister Fehler

Frage von Gast | Letztes Update am 01.04.2022 | Erstellt am 18.08.2014

Ich bin dabei ein Programm ohne GUI bzw. Form (Command Line Tool) zu programmieren, das aber trotzdem einige Funktionen aus der LCL benutzen können soll.

Dazu habe ich "LCL" über "Project > Project Inspector > New Requirement" hinzugefügt nachdem ich ein "Simple Program" mit Lazarus erzeugt habe.

Beim Kompilieren kommt es nun aber zu folgenden Fehlern:

project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomImageList
project1.lpr(11,1) Error: Undefined symbol: WSRegisterMenuItem
project1.lpr(11,1) Error: Undefined symbol: WSRegisterMenu
project1.lpr(11,1) Error: Undefined symbol: WSRegisterMainMenu
project1.lpr(11,1) Error: Undefined symbol: WSRegisterPopupMenu
project1.lpr(11,1) Error: Undefined symbol: WSRegisterDragImageList
project1.lpr(11,1) Error: Undefined symbol: WSRegisterLazAccessibleObject
project1.lpr(11,1) Error: Undefined symbol: WSRegisterControl
project1.lpr(11,1) Error: Undefined symbol: WSRegisterWinControl
project1.lpr(11,1) Error: Undefined symbol: WSRegisterGraphicControl
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomControl
project1.lpr(11,1) Error: Undefined symbol: WSRegisterScrollingWinControl
project1.lpr(11,1) Error: Undefined symbol: WSRegisterScrollBox
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomFrame
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomForm
project1.lpr(11,1) Error: Undefined symbol: WSRegisterHintWindow
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomScrollBar
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomGroupBox
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomComboBox
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomListBox
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomEdit
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomMemo
project1.lpr(11,1) Error: Undefined symbol: WSRegisterButtonControl
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomButton
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomCheckBox
project1.lpr(11,1) Error: Undefined symbol: WSRegisterToggleBox
project1.lpr(11,1) Error: Undefined symbol: WSRegisterRadioButton
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomStaticText
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomLabel
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomBitBtn
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomSpeedButton
project1.lpr(11,1) Error: Undefined symbol: WSRegisterShape
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomSplitter
project1.lpr(11,1) Error: Undefined symbol: WSRegisterPaintBox
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomImage
project1.lpr(11,1) Error: Undefined symbol: WSRegisterBevel
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomRadioGroup
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomCheckGroup
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomLabeledEdit
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomPanel
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCustomTrayIcon
project1.lpr(11,1) Error: Undefined symbol: WSRegisterCommonDialog
project1.lpr(11,1) Error: Undefined symbol: WSRegisterFileDialog
project1.lpr(11,1) Error: Undefined symbol: WSRegisterOpenDialog
project1.lpr(11,1) Error: Undefined symbol: WSRegisterSaveDialog
project1.lpr(11,1) Error: Undefined symbol: WSRegisterSelectDirectoryDialog
project1.lpr(11,1) Error: Undefined symbol: WSRegisterColorDialog
project1.lpr(11,1) Error: Undefined symbol: WSRegisterColorButton
project1.lpr(11,1) Error: Undefined symbol: WSRegisterFontDialog
project1.lpr(11,1) Fatal: There were 49 errors compiling module, stopping

Wie bekomme ich mein Programm zum laufen?

AntwortenPositivNegativDatumStimmen
3Beste Antwort3 Stimmen

Du musst Interfaces zu deiner USES-Section im Main-Porgramm hinzufügen (die Unit, die mit "program" beginnt):

uses Interfaces;

Dann sollte es funktionieren (mit der LCL und die Fehlermeldungen sollten verschwinden).

Alternativ kannst du auch die Abhängigkeit zur LCL entfernen und stattdessen die LCLBase nehmen. Die LCLBase enthält in der Regel alles, was du für Konsolen-Programme brauchst (Datei-Management, LCLIntf, LCLProc etc) aber eben nicht so etwas wie Forms und Dialogs, die du vermutlich gar nicht brauchst. Damit kannst du auch die Dateigröße dramatisch verkleinern wenn du diesen "Balast" nicht mehr drin hast.
Letztes Update am 01.04.2022 | Erstellt am 18.08.2014

AntwortenPositiv Negativ
00 Stimmen

Danke!

Ich hatte das gleiche Problem und dein Vorschlag hat perfekt funktioniert. Ich habe Lazarus schon mehrmals als Alternative zu Delphi angefangen auszuprobieren, mal sehen, ob ich mich diesmal daran gewöhnen kann.
05.03.2017 um 14:35

Positiv Negativ
Antworten
Antworten

Ähnliche Themen

Delphi: Systemweiter HotKey

Tutorial | 3 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.