Announcement

Collapse
No announcement yet.

Application.Title geht nicht

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Application.Title geht nicht

    Hallo Leidengenossen <br><br>
    Ich mache meine ersten Versuche mit Threads und schon taucht ein Problem auf. Ich zerlege Textdateien und schreibe die Ergebisse in eine Datenbank.
    Das alles wird mit einem Progressbar angezeigt. Das geschiet alles in einem Thread und klappt auch recht nett, aber ich will auch bei jedem weiterrücken des Bars in der Titelleiste den Fortschritt in % anzeigen, und das geschiet nicht, bzw. wird der String zwar gesetzt aber nicht angezeigt. Wenn man den thread allerdings mit einem Button kutz anhält (zB MessageBox) dann erscheint für einen kurzen Augenblick der Titel. Sobald aber der Button gedrückt wird, ist er wieder leer....<br>
    hat einer von euch vielleicht eine Idee, wo der Fheler steckt?<br>
    Vielen Dank, Stefan Walter

  • #2
    Hi

    probier mal folgendes im Thread:

    <pre>

    type
    TMyThread = class(TThread)
    private
    FAppWnd: hWnd;
    FMainWnd: hWnd;
    protected
    procedure Execute; override;
    public
    constructor Create;
    end;<br>

    procedure TMyThread.Execute;
    var
    Percent: Integer;
    begin
    Percent := 0;
    while not Terminated do
    begin
    S := Format('%d Prozent', [Percent mod 100]);
    SetWindowText(FAppWnd, PChar(S), length(S));
    SetWindowText(FMainWnd, PChar(S), length(S));
    Inc(Percent);
    Sleep(100);
    end;
    end;<br>

    constructor TMyThread.Create;
    begin
    inherited Create(True);
    FAppWnd := Application.Handle;
    FMainWnd := Application.MainForm.Handle;
    Resume;
    end;<br>

    </pre>

    Gruß Hage

    Comment


    • #3
      Wow, vielen Dank für die schnelle Antwort, und es hat wunderbar funktioniert! Allerdings ist bei SetWindowText die Angabe von "length" nicht nötig bzw. zulässig, aber das war ja schnell herauszufinden <br>
      Also danke nochmal, Stefan Walte

      Comment


      • #4
        Was man nicht im Kopf hat, hat man in den Beinen
        Ich wollt nicht noch mal in der API Hilfe nachschauen

        Gruß Hage

        Comment

        Working...
        X