Class TListBox not found!?
-
Hallo, ich kämpfe mal wieder mit dem BCB.
Wenn ich ein neues Projekt (Anwendung) aufmache, Form1 eine ListBox hinzufüge und das Projekt dann kompiliere ist alles in Ordnung.
Will ich jedoch meinem Projekt (was ja auch mal aus einem solchen Standard entstanden ist) eine ListBox hinzufügen erhalte ich beim Kompilieren die Meldung "class TListBox not found". Buttons kann ich jedoch hinzufügen...Das treibt mich bald in den Wahnsinn

Was habe ich falsch gemacht?
Kann mir jemand das Phänomen erklären?Nico
-
Tja da wärst Du wohl besser beim Klavier geblieben...

Scherz beseite, ist das ein altes Projekt, aus einer anderen BCB-Version? Wenn ja, hast Du das einfach nur weiter bearbeitet, oder hast du ein neues Projekt erzeugt und Units dort importiert?
Hast Du irgenwelchen Header-Dateien von Hand eingebunden, wenn ja, welche und wo?
-
Wenn du eine ListBox hunzufügst..???
Meinst du jetzt im QuelltextTListBox *ListBox;oder wie jetzt..?
Wenn das so is musst du wohl die richtige Unit noch einbinden...
#include <StdCtrls.hpp>sollte dann helfen...
Wenns was anderes is.. Keine Ahnung

-
@ Joe_M.
Hab' das Projekt unter der gleichen Version erzeugt, und alles nach und nach aufgebaut.die in meiner Hauptdatei includierten Dateien sind:
#pragma link "ListBox1" #include <vcl.h> #pragma hdrstop #include "OK19.h" #include <fstream> #pragma package(smart_init) #pragma resource "*.dfm" #include "sysdefs.h" #include <iostream> #include <dstring.h> #include <math.h> #include "bases.h" #include <stdio.h> #include <stdlib.h> #include <dir.h> #include <string> #include <vector> #include <windows.h> #include <tchar.h> #include "unzip.h" #include <conio.h> #include "strutils.hpp" ...wobei der Pragma Link automatisch erzeugt wurde, als ich die Listbox in der Form1 erzeugt habe.
@ Vernochan
Ich habe einfach in der Standard-Leiste ListBox ausgewählt und sie in Form1 erzeugt.
Die OK30.h beginnt wie folgt:
#ifndef OK30H #define OK30H //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include <ComCtrls.hpp> #include <Dialogs.hpp> #include "Excel_2K_SRVR.h" #include <OleServer.hpp> #include <Mask.hpp> #include <Buttons.hpp> #include "ListBox1.h" //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: // Von der IDE verwaltete Komponenten TButton *InfoDatAuslesen; TMemo *Memo1; TLabel *Label1; TButton *Beenden; TMemo *Memo2; TOpenDialog *OpenDialog1; TButton *inArray; TButton *InDatei; TProgressBar *ProgressBar1; TLabel *Label2; TLabel *Label4; TLabel *Label3; TLabel *Label5; TLabel *Label6; TLabel *Label7; TLabel *Label8; TLabel *Label9; TLabel *Label10; TLabel *Label11; TLabel *Label12; TCheckBox *CheckBox1; TLabel *Label13; TListBox *ListBox1; TListBox *ListBox2; TLabel *Label14; TLabel *Label15; ...Eigentlich wird so ja alles nötige automatisch erzeugt was ja auch funktioniert, nur in meinem aktuellen Projekt nicht!
Meine Programmierkenntnisse bezüglich BCB sind noch sehr gering, darum komme ich leider bei solchen speziellen Problemen alleine nicht weiter. Ich hoffe, Ihr nehmts mir nicht zu übel...
-
Wo kommt denn das #include "ListBox1.h" her? Und das #pragma link... find ich auch sehr seltsam.
Die TListBox als solches befindet sich in <StdCtrls.hpp>. Hast Du versucht eine eigene Komponente abzuleiten?
-
Also, ne eigene Komponente hab ich nicht versucht. Ich hab jetzt das #include "ListBox1.h" mal auskommentiert und es ändert sich nichts. Woher das kam weiß ich aber auch nicht.
Ich sollte vielleicht noch sagen, das ich die Meldung in Form einer Exception bekomme, also nach dem Kompilieren und Linken. Das ist es was mich verwirrt.
Ich habe übrigens herausgefunden, dass ich scheinbar keine Typen per Drag&Drop zu meinem Form1 hinzufügen kann, die ich bisher noch nicht drin habe. Nehme ich z.B. einen Button, ein Memo, ein Label (alles bereits drin) gibt es keine Probleme, aber andere kann ich nicht hinzufügen (gleiche Exception).
Habe ich evtl. irgendetwas in den Projekt-Optionen verstellt (Compiler, Linker, Packages)? Ich habe hinundwieder mal eine eigenständig lauffähige exe erstellt etc..
Nico
-
Hallo,
ich habe ein ähnliches Problem.
Bei mir tritt eine Exception auf, weil die Klasse TProgressBar nicht gefunden wird.
Sehr eigenartig ist daran, dass ich in einem Fenster eine Progress Bar nutze,
dort kommt auch keine Fehlermeldung. Will ich nun eine weitere in ein anderes Unter-
fenster packen, meldet der Linker die Exception :-\ Und ich habe auch keine Ahnung,
warum dem wohl so ist.Und weil ja bald Weihnachten ist, hier noch was zum "auflockern" :xmas2:
<EDIT>
Soweit ich weiß, ist die ProgressBar im Header ComCtrls definiert. Dieser ist auch in
den jeweiligen C++ Dateien eingebunden.
-
Nachdem ich das Problem für nicht so wichtig erklärt hatte,
bin ich heute nochmal dazu gekommen, mir den Spass anzuschauen.
Bei mir hat es gereicht, das Projekt neu zu erzeugen:
Menü "Projekt" und dann auf "Projektname neu erzeugen"...Schon wird alles richtig verlinkt. Vielleicht hilfts ja noch dem
ein oder anderen
Raptor