Autor | Thema: Bereich auslesen | | Datum:31.05.02 13:03 
(ps@burghardt-ib.de) | |
Hallo folgendes Problem:
Ich bekomme vom System einen Pointer auf einen Bereich den ich in einer Variablen habe:
Print "Adresse des Bereiches =", pointer&
Wie komm ich an den Inhalt des Bereiches ran ????
Folgendes hab ich schon versucht:let bereich# = pointer&
let inhalt1& = @Long (bereich#,0) 'Führt zur Exception EAcces Violation
let inhalt2& = @Long (bereich#,4)
let inhalt3& = @Long (bereich#,8) oderlet inhalt1& = @Long (pointer&,0) Beides führt zum Absturz. Noch einer ne Idee ??
Philipp
|
| | Datum:31.05.02 13:19 
(schmidts@flat2serv.de) | |
Du musst den Bereich umbiegen. Du definierst einen Bereich, merkst Dir die Adresse, setzt die Bereichs-variable auf den gewünschten Bereich und liest aus (Read). Anschliessend setzt Du den Zeiger wieder zurück auf den Original-Bereich, damit es korrekt freigegeben werden kann (kannst ja nicht einen fremden Bereich freigeben).
Mfg.
Sven Schmidts
|
| | Datum:31.05.02 14:03 
| |
Hallo,
inhalt1&=Long(pointer&,0) sollte eigentlich funktionieren, bei mir tut es das jedenfalls. Ich glaube, das ganze klappt erst ab Profan 7.
Gruß, Frank
|
| | Datum:31.05.02 14:36 
(rgh-soft@t-online.de) | |
Eigentlich sollten im aktuellen PROFAN (7.5) beide Methoden zufriedenstellend funktionieren. Die Systemfehlermeldung deutet allerdings darauf hin, daß der ermittelte Pointer tatsächlich auf eine im aktuellen Prozeß ungültige Adresse zeigt. Wie ermittelst Du den den Pointer? Wenn er z.B. aus einer anderen Anwendung stammt, hat er wahrscheinlich in Deinem Programm keine Gültigkeit. Jede 32-Bit-Anwendung hat einen eigenen Adreßraum!
|
| | Datum: 31.05.02 14:50 
(ps@burghardt-ib.de) | |
Hallo ich verwende Profan 7.0 (e)
der Pointer ist &LParam einer NotifyMessgae und zeigt auf einer NMHDR Struktur.
Absender ist einer meiner ChildFenster bzw. die NonClientArea meines Fensters
Philipp
|
|
|