guten abend,
wenn ich aus einem thread heraus auf ein webgadget zugreifen will (sei es SetGadgetItemText oder
SetGadgetAttribute) bekomme ich einen InvalidMemoryAccess fehler, aber wieso?
die thread prozedur greift innerhalb auf eine prozedur zu die auf das gadget zugreift
Webgadget (IMA aus Thread)
Re: Webgadget (IMA aus Thread)
Meines Wissens sind nicht alle Gadgets Threadsafe.
Ausserdem sollte man Gadgets nur in dem Thread manipulieren (Set....) in dem sie auch erstellt wurden,
um genau soetwas zu vermeiden.
Sende ein Signal von deinem "ManipulatorThread" zu dem Thread, der das Gadget erstellt hat und der
manipuliert dann. Darüber hinaus solltest man sich bei Threadangelegenheiten auch mit Mutex usw.
auseinandersetzen ...
Ausserdem sollte man Gadgets nur in dem Thread manipulieren (Set....) in dem sie auch erstellt wurden,
um genau soetwas zu vermeiden.
Sende ein Signal von deinem "ManipulatorThread" zu dem Thread, der das Gadget erstellt hat und der
manipuliert dann. Darüber hinaus solltest man sich bei Threadangelegenheiten auch mit Mutex usw.
auseinandersetzen ...
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom
- 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
Re: Webgadget (IMA aus Thread)
Zumindest unter Linux ist das WebGadget nicht Threadsafe, siehe hier:
http://www.purebasic.fr/english/viewtop ... 65#p188965
Unter Windows kann ich mir vorstellen, das viele Interface-Methoden, die ja
im Endeffekt aufgerufen werden, auch nicht Threadsafe sind.
http://www.purebasic.fr/english/viewtop ... 65#p188965
Unter Windows kann ich mir vorstellen, das viele Interface-Methoden, die ja
im Endeffekt aufgerufen werden, auch nicht Threadsafe sind.
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Webgadget (IMA aus Thread)
Mahlzeit!
Bestätige hiermit die Probleme, von einem Nebenläuferprozeß aus auf im Hauptprogramm erstellte Klickflächen zuzugreifen. Bin da selbst schon mal drauf ausgerutscht. Da das aus Sicht des Betriebssystems zwei völlig verschiedene Programme sind, wird der Versuch, im Weiher des Nachbarn zu fischen, verhindert (Speicherschutz).
Bisonte riß es schon an: Signal an Hauptprogramm schicken, das die notwendige Bearbeitung der Klickflächen vornimmt. Das ist zwar etwas langsamer (und etwas umständlicher), funktioniert aber und ist betriebssystemkonform.
Gruß - WPö
Bestätige hiermit die Probleme, von einem Nebenläuferprozeß aus auf im Hauptprogramm erstellte Klickflächen zuzugreifen. Bin da selbst schon mal drauf ausgerutscht. Da das aus Sicht des Betriebssystems zwei völlig verschiedene Programme sind, wird der Versuch, im Weiher des Nachbarn zu fischen, verhindert (Speicherschutz).
Bisonte riß es schon an: Signal an Hauptprogramm schicken, das die notwendige Bearbeitung der Klickflächen vornimmt. Das ist zwar etwas langsamer (und etwas umständlicher), funktioniert aber und ist betriebssystemkonform.
Gruß - WPö
Ich glaube nur der Statistik, die ich selbst gefälscht habe!
Meine Netzpräsenz: WPö.de
PB5.31 auf LMDE und Pentium T7200 2,00GHz, 4GB DDR2, ATI X1400.
Meine Netzpräsenz: WPö.de
PB5.31 auf LMDE und Pentium T7200 2,00GHz, 4GB DDR2, ATI X1400.