Fehlermeldung beim Kompilieren eines Packages.

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Benutzeravatar
kpmais
Beiträge: 23
Registriert: Di 26. Mai 2020, 08:51
OS, Lazarus, FPC: Winux (L 2.0.12, FPC 3.2.0; Debian/Win7)
CPU-Target: x86-64
Wohnort: Saarlouis/Saarland

Fehlermeldung beim Kompilieren eines Packages.

Beitrag von kpmais »

Wie schon in der Überschrift steht, erhalte ich beim Kompilieren von Paketen
die Fehlermeldung 'Identifier not found, Register' in der Paketdatei.
Ich habe das ganze schon mit gtk2 und qt, qt5 getestet sowie in 2 Lazarusversionen.
Eventuell muss ich Registrierungsinfos in die verwendete Unit integrieren.
Was anderes fällt mir dazu nicht ein. Aber darüber finde ich nichts im Netz.

Ohne 'Registriere Unit' anzuklicken klappt die Kompilierung.
Es geht also ausschließlich um die Registrierung.

Kann mir jemand weiter helfen?

wp_xyz
Beiträge: 3632
Registriert: Fr 8. Apr 2011, 09:01

Re: Fehlermeldung beim Kompilieren eines Packages.

Beitrag von wp_xyz »

Welche Pakete?

Wenn es um ein eigenes Package geht, fehlt wahrscheinlich die Register-Prozedur in einer deiner Package-.Datien. In der Register-Prozedur werden die in dem Package implementierten Komponenten für den Design-Mode und die Komponentenpalette gekennzeichnet. Zum Beispiel aus dem TAChart-Package (abgeändert):

Code: Alles auswählen

procedure Register;
begin
  RegisterComponents('Chart', [TChart]);
end; 
Neben der Komponenten-Registrierung kommt hier auch die Registrierung von Property- und Component-Editoren rein.

Diese Prozedur muss im Interface-Teil der Unit deklariert sein, damit sie von außen aufgerufen werden kann. Jede Unit kann eine eigene Register-Prozedur enthalten für die Komponenten, die in dieser Unit implementiert werden. Bei großen Packages ist es aber günstiger eine eigene Registrierungs-Unit zu schreiben und dort alle Komponenten des Package zusammenzufassen. Und wenn du es ganz gut machen willst, schreibe zwei Packages: ein Laufzeitpackage, das nur den Code der Komponente enthält, und ein Entwurfszeitpackage, das die Registrierung enthält. Dadurch wird zur Laufzeit benötigter Code von dem von der IDE benötigten Cdde getrennt. So verhinderst du z.B. dass das Paletten-Icon in das Binary deines Programm mit eingebunden wird.

Benutzeravatar
kpmais
Beiträge: 23
Registriert: Di 26. Mai 2020, 08:51
OS, Lazarus, FPC: Winux (L 2.0.12, FPC 3.2.0; Debian/Win7)
CPU-Target: x86-64
Wohnort: Saarlouis/Saarland

Re: Fehlermeldung beim Kompilieren eines Packages.

Beitrag von kpmais »

Vielen Dank für die Hilfe.
Ja, das betraf ein eigenes Package.
Mit deinem Hinweis habe ich dann noch mal alles (aufmerksamer !!!) durchgelesen und jetzt funktioniert es.
Danke nochmal ....

wp_xyz
Beiträge: 3632
Registriert: Fr 8. Apr 2011, 09:01

Re: Fehlermeldung beim Kompilieren eines Packages.

Beitrag von wp_xyz »

kpmais hat geschrieben:
Do 11. Feb 2021, 10:57
Mit deinem Hinweis habe ich dann noch mal alles (aufmerksamer !!!) durchgelesen
Wo eigentlich?

Benutzeravatar
kpmais
Beiträge: 23
Registriert: Di 26. Mai 2020, 08:51
OS, Lazarus, FPC: Winux (L 2.0.12, FPC 3.2.0; Debian/Win7)
CPU-Target: x86-64
Wohnort: Saarlouis/Saarland

Re: Fehlermeldung beim Kompilieren eines Packages.

Beitrag von kpmais »


Antworten