Frage zum Messagerequester

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Milchshake
Beiträge: 166
Registriert: 30.01.2006 17:47
Wohnort: Zwischen dem Sessel und dem Computer

Beitrag von Milchshake »

kann man eigentlich die threats auch in PB.3.3 machen??Bin grad zu faul das auszuprobieren
Hab jetzt PB 4.02
Muhahaha!!!!
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Threads gehen meines Wissens nach auch schon in PB 3.3
Threadsicherheit gibts erst ab PB 4.0

MessageRequester gehören nicht in Threads und funktionieren dort auch nicht
richtig, da sie dem Fenster zugeordnet sind.

Hab das Beispiel nur als Spaßprogramm für Milten rausgehauen. Also bitte in
echten Anwendungen keine Messagerequester in Threads, die sollten
nur vom Thread erstellt werden, der die anderen Fenster usw. auch erstellt!
Also der eigentlichen Anwendung
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Milten
Beiträge: 10
Registriert: 27.07.2006 18:01

Beitrag von Milten »

jap danke...meine nur allgemein, wäre schön wenn ne genuere beschreibung was was macht dran wäre...
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Milten hat geschrieben:jap danke...meine nur allgemein, wäre schön wenn ne genuere beschreibung was was macht dran wäre...
Mauszeiger auf Befehl setzen und F1, wenn Du dann was nicht verstehst
nochmals genau nachfragen :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Leonhard
Beiträge: 602
Registriert: 01.03.2006 21:25

Beitrag von Leonhard »

Hier mal n dolle beschreibung (aus C++ -Book überarbeitet):
Synatx: MessageRequester(%Title%, %Text%[, %Flags%])
%Title% Ist der Titel der Message.
%Text% Ist der Text der Message.
%Flags% Werden so angegeben x+y
wobei x die Schaldflächen-Flags sind und y die Symbol-Flags
x-Möglichkeiten (Schaldfläche)
0=OK
1=OK und Abbrechen
2=Beenden, Wiederholen, Ignorieren
3=Ja, Nein, Abbrechen
4=Ja, Nein
5=Wiederholen, Abbrechen

y-Möglichkeiten (Symbole)
16=Warnkreuz
32=Fragezeichen
48=Ausrufezeichen
64=Infozeichen (i)
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ich würde in die Proc ne schleife machen:

Code: Alles auswählen

Procedure MessageBox(lol.l)
  Repeat
    MessageRequester("Test", "Und noch eine!")
    Delay(500)
  ForEver
EndProcedure

For I = 1 To 1000
  CreateThread(@MessageBox(), 0)
Next
btw:
ts, du hast bei der Proc ein argument angegeben, bei dem thread nicht...
is das so richtig? hab keine ahnung von threads.....
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Kaeru Gaman hat geschrieben:ich würde in die Proc ne schleife machen
Dann wird aber nur eine Requester ausgeführt je Thread, bis einer Okay drückt :mrgreen:
Kaeru Gaman hat geschrieben: ts, du hast bei der Proc ein argument angegeben, bei dem thread nicht...
is das so richtig? hab keine ahnung von threads.....

Ich hab auch beim erstellen des Thread ein argument angegeben

Code: Alles auswählen

CreateThread(@MessageBox(), 0) 
Zwar nur ne 0, weil wir es nicht nutzen, aber erforderlich ist!

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> Dann wird aber nur eine Requester ausgeführt je Thread, bis einer Okay drückt

macht doch nix..
aber dafür produziert jeder thread immer wieder message-requester, und nicht ein einziges mal.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Ist ja auch eher ein Spaß. Nur wenn der Speicher voll ist bevor man von hand all die Messagerequester beendet hat, kann man sich ja wohl denken
was passiert :D.
Zwar kann man das mit dem TaskManager anhalten, aber den kann man ja quasi auch ausschalten, sowie den Startbutton unten links in der Taskleiste ausblenden.

:D

Gruß Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Milten
Beiträge: 10
Registriert: 27.07.2006 18:01

Beitrag von Milten »

Also....das ding geht, auch wenn ich nich wrklich verstanden hab wie es geschrieben wurde und abgesehen davon das das programm von meinem freund abkratzt :D

mfg
Milten
Antworten