Datentyp aus verlinkter Bibliothek wird nicht erkannt

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
thosch
Beiträge: 202
Registriert: Mo 10. Jul 2017, 20:32

Datentyp aus verlinkter Bibliothek wird nicht erkannt

Beitrag von thosch »

Hallo,

ich habe eine C - Softwarebibliothek verlinkt um dafür eine Pascal Interface Unit zu erstellen. Nun wird einer der Datentypen, die in der Bibliothek verwendet werden, vom Pascal Compiler nicht erkannt und ich erhalte dazu eine falsche Zeilennummer für das Auftreten des Fehlers:

Error: Identifier not found "<mein datentyp aus der Bibliothek"

Ich habe den fraglichen Datentyp in der Interface Unit definiert, wie ich ihn aus der Bebiliothek bezüglich Datenfeldergröße verstanden habe

Code: Alles auswählen

 
TYPE
  LibDataType = record
     feld1: Typ1;
     feld2: Typ2;
     ....
  end;
 


Im Unit Quelltext verwendet eine der Prozeduren dann diesen Datentyp. Der Pascal Compiler bricht aber die Übersetzung bereits vor dieser Prozedur ab und zeigt mir eine völlig falsche Zeilennummer für den Fehler an.

Woran kann das liegen und welchen Workaround konnte ich da anwenden?
.

Benutzeravatar
theo
Beiträge: 8520
Registriert: Mo 11. Sep 2006, 19:01

Re: Datentyp aus verlinkter Bibliothek wird nicht erkannt

Beitrag von theo »

Mit so wenig Info kann man kaum etwas sagen.
Hast du das auch im Interface Teil der Unit deklariert?

Generell: Mach bei Typen immer ein "T" vorne dran, das ist gut gegen Verwirrung. "TLibDataType*

thosch
Beiträge: 202
Registriert: Mo 10. Jul 2017, 20:32

Re: Datentyp aus verlinkter Bibliothek wird nicht erkannt [g

Beitrag von thosch »

Problem gelöst:

Die Ursache war eine in jener Unit mit dem nicht erkannten Datentyp vorausgesetzte Unit, in der dieser Datentyp jedoch nicht definiert war. Dann wird der natürlich auch nicht gefunden. Auch dann nicht, wenn dieser Datentyp in der ihn definierenden Unit im Interfaceteil definiert wurde.

Antworten