Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 241106 (2542)
  Suchen
 Zurück zur Übersicht
 AutorThema: Bereich auslesen
Philipp Sternberg
Datum:31.05.02 13:03 Antwortenals Email verschicken (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)
oder
let inhalt1& = @Long (pointer&,0)
Beides führt zum Absturz. Noch einer ne Idee ??

Philipp


Sven Schmidts
Datum:31.05.02 13:19 Antwortenals Email verschicken (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


Frank Abbing
Datum:31.05.02 14:03 Antwortenals Email verschicken  


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


Roland G. Hülsmann
Datum:31.05.02 14:36 Antwortenals Email verschicken (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!


Philipp Sternberg
Datum: 31.05.02 14:50 Antwortenals Email verschicken (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


 Zurück zur Übersicht