Linker-Fehler bei TDataModule
-
Hallo zusammen,
ich habe mir gestern die zum Testen die Community-Edition des C++-Builders 12 installiert. Darin habe ich eine neues Projekt erstellt und die ganzen Formulare und Units aus einem alten BCB6-Projekt eingefügt. Hat eigentlich überraschend gut funktioniert. Es gab ein paar Fehlermeldungen, alles Kleinkram und schnell behoben.
Aber es gibt auch eine lange Liste von Linker-Fehlern, die sich alle auf das Datenmodul im Projekt beziehen. In diesem Datenmodul befindet sich eine TADOConnection und eine Reihe TADODataSets/TADOCommands (inkl. ein paar TDataSources). An allen Stellen, an denen auf das Datenmodul zugegriffen wird, gibt es diese Linker-Fehler. Hier ein kleiner Auszug:
[ilink32 Fehler] Error: Nicht auflösbares externes '__fastcall Data::Db::TCustomConnection::Open()' referenziert von ...\DATAMODULE.OBJ [ilink32 Fehler] Error: Nicht auflösbares externes '__fastcall Data::Win::Adodb::TADOCommand::Execute()' referenziert von ...\DATAOBJECTS.OBJ [ilink32 Fehler] Error: Nicht auflösbares externes '__fastcall Data::Win::Adodb::TCustomADODataSet::GetParameters()' referenziert von ...\DATAOBJECTS.OBJ [ilink32 Fehler] Error: Nicht auflösbares externes '__fastcall Data::Win::Adodb::TParameters::ParamByName(System::WideString)' referenziert von ...\DATAOBJECTS.OBJ
Ich habe gegoogelt aber nicht wirklich herausgefunden, was genau das Problem ist. Im Datenmodul selbst sieht alles in Ordnung aus, das lässt sich fehlerfrei compilieren und auch Feldeditor usw. funktionieren einwandfrei.
Ich kenne diesen Fehler nur, wenn man vergessen hat, ein Package einzubinden. Die Embarcadero ADO-DB-Komponenten sind aber im Projekt mit eingebunden.
Kann mir mal jemand einen Schubs in die richtige Richtung geben.
Vielen Dank im Voraus.
Grüße Joe_M.
-
Zieh mal irgendeine ADO-Komponente auf ein Formular und speichere das Formular, vielleicht klappt´s danach. Die IDE erkennt die zu linkenden Bibliotheken selbst anhand einiger include-Dateien und oft reicht es aus, die include-Dateien neu zu parsen. Das passiert dann, wenn du zB. eine Komponente auf ein Formular ziehst, dann trägt die IDE die passende lib in die Projekteinstellungen ein.
-
@DocShoe Herzlichen Dank, das hat das Problem gelöst.