2 Fragen



  • hi

    um das forum nich so zuzuspammen stell ich meine fragen ma alle in diesen einem thread:

    1. nachdem meine anwendung gestartet und der haupt-dialog geladen wurde möchte ich, dass eine funktion gestartet wird. es gibt ja zwar ne initialisierung, aber die wird VOR dem laden des dialogs aufgerufen.
    wie geht das?

    2. ein prog besteht ja aus dem GUI und dem core. wenn ich im hintergrund was ausführe (core) kann ich den GUI nich bedienen. um das problem zu umgehn kann man ja noch einen "thread" aufmachen. in dem kann dann der GUI laufen und man kann während der arbeit des cores den GUI bedienen.
    z.B. einen "Abbrechen"-knopf für irgend eine aktion einbauen.
    leider blick ich bei der sache nich ganz durch. gibt irgendwo ein gut erklärtes tutorial darüber? oder kann es jm mit beispiel erklären?



  • zu 1:
    Mach einen ganz kurzen Timer. 😉
    Ein Tutorial dazu findest du hier.

    zu 2:
    Zu Threads gibt es ihmo in der Faq eine kleine Anleitung.
    Und in dem Buch, zu dem ich oben nen Link gegeben habe, gibt es dazu auch ein Kapitel.



  • Hallo,

    weiss zwar (noch) net genau wie man Threads mit MFC macht, aber habe gestern erst selber normale Threads 'geuebt', fuer die Konsole. Hat sogar grklappt 😃

    Man muss dazu die process.h einbinden und im Compiler unter ich glaube:
    Projekt -> Einstellungen im Register C/C++ dort unter Code Generation... auf 'Multithreaded' stellen

    Und dann kann man so z.b. einen Thread benutzen:

    #include <process.h>
    #include <conio.h>
    #include <stdio.h>
    
    void DieFunktion(void *i)
    {
        printf("%d", (int)i);
    
        _endthread();
    }
    
    int main()
    {
        _beginthread(DieFunktion, 0, (void*)3);
    
        getch(); // Hier kurz warten, damit der Thread Zeit hat zu starten
    
        return 0;
    }
    

    So koennten Fehler drin sein und ich weiss, dass es mit diesen includes und so kein schoener Code is, aber besser als nix. Ausserdem muss ich erstma wach werden 😉

    MfG, Heimdall83


Anmelden zum Antworten