Forum: Win32/Win64 API (native code)
Delphi
by Bummi,
28. Nov 2010
@Assarbad
muss Dir nicht Leid tun, ich war komplett vernagelt.
Ich danke nochmals Sir Rufo, Jaenicke und Assbard für ihre Bemühungen.
Forum: Win32/Win64 API (native code)
Delphi
by Bummi,
28. Nov 2010
dann muss ich allen Beteiligten erst einmal Abbitte leisten. Der Getter/Setter stellt sicher dass ich mich in der richtigen CS befinde, habe ich das richtig verstandenen?
Forum: Win32/Win64 API (native code)
Delphi
by Bummi,
28. Nov 2010
warum funktioniert dann folgendes
http://www.delphipraxis.net/156304-verhindern-klick-auf-titelleiste-stoppt-programm-3.html#post1064523
#26
wenn hier der zugreifende die CS ignoriert, bwz eine ander nimmt bekommt er Zugriff die der Intention der CS wiederspricht.
Forum: Win32/Win64 API (native code)
Delphi
by Bummi,
28. Nov 2010
@jaenicke
Nochmals Danke
dies ist mir meine ich klar, aber wofür dann die CS wenn sich ohnehin alles innerhalb des Threads abspielt.
Ich scheine hier tatsächlich einen resistenten Hänger zu haben, mir erschließt sich der Sinn der lokalen CS nicht, die ja nur berücksichtigt werden können wenn ein potentieller "Zugreifer" davon Kenntnis hat.
Forum: Win32/Win64 API (native code)
Delphi
by Bummi,
28. Nov 2010
ich bin völlig bei Dir, aber ohne Kenntnis / Beachtung des CS wir jeder zu jedem Zeitpunkt gegf. Müll auslesen(der Speicher ist ja nicht geschützt, Windows verhindert ja nur die Reentranz in ihm bekannte CS) .
Forum: Win32/Win64 API (native code)
Delphi
by Bummi,
28. Nov 2010
Jepp, aber hier kommen wir wieder zu dem Punkt daß die Abfrage sich nicht für Deine lokalen CS interessiert.
wenn Du nochmals mein Beispiel aus
http://www.delphipraxis.net/156304-verhindern-klick-auf-titelleiste-stoppt-programm-3.html#post1064523
#26 heranziehst
Meine Vorstellung einer CS basiert darauf daß ein Codeabschnitt markiert Windows mitgeteilt wird. Wenn ein anderer Thread versucht...
Forum: Win32/Win64 API (native code)
Delphi
by Bummi,
28. Nov 2010
@assabard
Wenn jeder Thread seine eigene Queue hat und mit der CS schützt, dann macht es schon so Sinn. Da der Zugriff über Getter/Setter stattfindet, hat alles seine Ordnung.
aber wofür benötigt er dann ene CS?
Forum: Win32/Win64 API (native code)
Delphi
by Bummi,
28. Nov 2010
Um bei Deinem Beispiel zu bleiben
Point.x
Point.y
in einer CriticalSection, wenn der lesende sich nicht darum schert daß es da eine (ihm unbekannte CS) gibt liest er einfach den Wert aus , egal ob der Thread es in eine CS gepackt hat oder nicht.
Forum: Win32/Win64 API (native code)
Delphi
by Bummi,
28. Nov 2010
@Sir Rufo
Das eben macht mir Kopfschmerzen #9 b
Wenn Du für jede Instanz eine eigene CS erzeugst wie soll der Zugriff dann geschützt sein.
Aber ich muß jetzt ins Bett, gerne morgen weiter:thumb:
Forum: Win32/Win64 API (native code)
Delphi
by Bummi,
28. Nov 2010
Danke , aber wenn jeder Thread seien eigen CriticalSection erzeugt wie ist dann ein übergreifender Zugriff gewährleistet, oder da dies ja nicht eigentlich das Problem hier ist, wofür benötige ich die Threadinternen CS überhaupt?
Forum: Win32/Win64 API (native code)
Delphi
by Bummi,
28. Nov 2010
hier hakt es bei mir, wofür brauche ich hier dann lokale (innerhalb des Threads gültige) CriticalSections.