Wie kann ich einen Thread erzeugen



  • Hi,
    ich habe hier im Forum danach gesucht und wirklich eine Menge an beiträgen bekommen aber den Fehler den ich bekomme habe ich bis jetzt nichts gefunden ;-((

    Ich habe eine neue Anwendung erstellt und dann sofort ohne etwas anderes zu machen ein neues Thread-Object erstellt wie ich es hier im Forum gelesen habe.

    Dann habe ich folgenden Zeile geschrieben

    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
           bla = new TThread(true);
    }
    

    Ist eigentlich nicht viel ich habe ja nicht einmal den Thread gestarted aber ich bekomme trotzdem folgende Fehler:

    Erzeugen
    [C++ Fehler] Unit1.cpp(15): E2451 Undefiniertes Symbol 'bla'
    [C++ Fehler] Unit1.cpp(15): E2352 Instanz der abstrakten Klasse 'TThread' kann nicht erzeugt werden
    [C++ Fehler] Unit1.cpp(15): E2353 Klasse 'TThread' ist abstrakt, weil '_fastcall TThread::Execute() = 0'

    Ich bin C Anfänger bitte helft mir einen guten einstieg in C zu haben.

    mfg
    wdsl



  • Wenn ich mir den Code so anschaue, dann solltest du dir ein C oder C++ Tutorial durchlesen (gute findest du hier auf der Startseite) oder dir ein gutes Buch kaufen, sonst kommst du nicht wirklich weit.

    Was deine Probleme angeht:
    für "bla" fehlt die Typenangabe (das ist also keine korrekte Deklaration) und statt von TThread solltest du eine Instanz der von TThread abgeleiteten Klasse erstellen. Dies bedeutet konkret, dass du zunächst eine Klasse ableiten musst.

    Wenn du jetzt von meiner obigen erklärung nur noch verwirrter bist, solltest du dich mal etwas um die Grundlagen bemühen, bevor du mit so (z.T. gefährlich mächtigen) Frameworks wie MFC und VCL rumspielst.

    -junix



  • Hi,
    kleine Ergänzung: du solltest nicht nur die TThread-Klasse kapseln, sondern du musst. Sonst wirst du nämlich nichts machen können, was in dem Thread läuft... 😉

    Chris



  • Hi,
    jo aber welche typenangabe soll ich machen?? ist ja die Klasse bla oder und dann ist bla ja die typenangabe??

    Und sorry wenn ich nochmal nachfrage in dem inhaltsverzeichniss von meinem Buch (C++ Ent-Packt) kann ich leider nichts von instanz finden. Ich glaube zwar dass ich das irgendwann durchgemacht habe aber leider finde ich das ncith mehr.

    Kannst du vielleicht einen geleinen Quellcode schicken weil in allen Beispielen in desem Forum steht eigentlich nix anderes wie ich gemacht habe. z.B.
    http://www.c-plusplus.net/forum/viewtopic.php?t=12696&highlight=tthread



  • Sooo doll kann deine Suche im Forum aber nicht gewesen sein:
    http://www.c-plusplus.net/forum/viewtopic.php?t=44264#320818



  • junix schrieb:

    für "bla" fehlt die Typenangabe (das ist also keine korrekte Deklaration)
    -junix

    Man amüsiert sich hier ab und zu doch prächtig 😃
    epidemic



  • epidemic schrieb:

    Man amüsiert sich hier ab und zu doch prächtig 😃

    ?

    -junix



  • ich gebe das mal auf und will wissen ob es nciht ein sehr einfaches Tutorail gibt um so einen Thread zu erstellen. Ich habe genau das Beispiel nachprogrammiert welches functionieren sollte (um genau zu sein habe ich es kopiert ;-)) ). Leider habe ich schon einen kompiler Fehler bekommen ;-((.

    Kann mir villeicht einer ein Minimalbeispiel schicken??



  • King of Noob schrieb:

    Leider habe ich schon einen kompiler Fehler bekommen ;-((.

    Würdest du um die +*"#@¦**ç Compilerfehler nicht immer so ein Geheimnis machen, würde man dir auch helfen können....

    -junix



  • Du brauchst uns natürlich nicht zu sagen, welches Beispiel du nachprogrammiert hast und welche Fehlermeldung du bekommst, denn solche unwichtigen Details können ja nichts zu einer eventuellen Problemlösung beitragen.

    Ansonsten: was passt dir an dem Demo-Projekt in \%BCB%\examples\apps\threads nicht?


Anmelden zum Antworten