Seite 2 von 2

Verfasst: 14.09.2004 12:07
von Agent
Vorerst mal thx.

Werds mal ausprobiern.
Ist für mich privat, chef hat grade die Mücke gemacht und ich werds jetzt mal coden.

Hab aber noch ein prob.
Hast du schonmal ein listgadget erstellt, dann hunderte einträge reingeschrieben (z.b. eine art Dir-Befehl oder was auch immer)?
Die Einträge sind erst zu sehen, wenn er fertig ist, selbst wenn ich ein delay(5) oder so reinlege, nix. ich hätte gerne das man die einträge währenddessen sieht nicht erst wenn die schleife mit dem eintragen fertig ist.

Verfasst: 14.09.2004 12:11
von Agent
@max.
Ich könnt mich totlachen und ohrfeigen.
An alle Coder hier: Sendet mir sofort ein "format c: /q", ich habs nicht anders verdient. DAS GEHT! Verdammte automatische Nummerierung.
Ich hab die zwei enum.. zusammengefasst zu einer und... siehe da, das funzt.
Manchmal sieht man vor lauter Wald die Bäume nicht, nochmal thx (auch an all die anderen die gepostet haben)

Vielleicht haste auch nen "Baum" für das List-problem...

Verfasst: 14.09.2004 12:31
von Max.
Da gibt es wohl einige Lösungen; alle mit Vor- und Nachteilen. Z.B.

- In der Schleife, die die Elemente hinzufügt mit

Delay(xyz)
WindowEvent()

- Die Prozedur, die die Elemente hinzufügt mit

CreateThread(@...)

aufrufen.

- Einen Thread starten (s.o.), der alle paar Sekunden einen Refresh durchführt

Verfasst: 14.09.2004 17:23
von Lars
Elemente hinzufügen mit:

Code: Alles auswählen

For i = 1 To 10
  AddGadgetItem(#ListIcon, -1, Element(i))
  While WindowEvent(): Wend
Next i
So funktioniert das.

Verfasst: 15.09.2004 09:28
von Agent
Hallo.

Jo, habs schon erwähnt. DAS war die Lösung.

Ich wusste nicht, das winevent() auch als ne art... vsync benutzt werden kann, wo gewartet wird, das der Bildschirm neu aufgebaut wurde (bzw. das Fenster). Ich dachte das geht nur um die Events abzufragen. Steht auch in der Hilfe nicht.

Ich hab einfach nach dem setgadgettext() nen winevent() eingebaut geht. aber über while ist auch gut.

Macht es eigentlich Sinn waitwinevent() zu nehmen?

Verfasst: 15.09.2004 14:02
von freedimension
Agent hat geschrieben:Macht es eigentlich Sinn waitwinevent() zu nehmen?
Klar macht es das, Programme welche im Ruhezustand sämtliche CPU-Power ziehen bleiben bei mir nicht lange auf der Platte liegen - dazu ist mir selbst mein leiser Notebook-Lüfter doch noch etwas zu laut ;-)

Verfasst: 15.09.2004 17:17
von Agent
Stimmt. Weil waitwinevent() ja das Prog anhält...sofern man das möchte.

Vielleicht sollte ich als Signatur mal den klassischen Azubi-Namensschild-Untertitel wählen:

ICH LERNE NOCH!


*LOOL

Verfasst: 15.09.2004 17:57
von NicTheQuick
Theoretisch macht [c]WaitWindowEvent()[/c] nicht besonders viel anders wie die folgende Procedure:

Code: Alles auswählen

Procedure.l WaitWindowEvent2()
  Protected Event.l
  Repeat
    Event = WindowEvent()
    Delay(10)
  Until Event
  ProcedureReturn Event
EndProcedure
In dieser [c]Repeat[/c]-[c]Until[/c]-Schleife kann man jetzt auch noch Funktionen einfügen, die bspw. ständig das Clipboard überwachen oder sonstiges.