Hi,
Ich hab mich grade ein wenig mit Pointern in Delphi beschäftigt. Und ein kleines Program geschrieben, wo ich Speicher im Heap für eine Integer Variabel reserviere diese Speicherstelle in einem Pointer speicher. Ich habe der Integer Variabel noch den Wert 10 zugewiesen und mir den Wert 10 anzeigen lassen. So weit ging alles. Nun habe ich noch einen zweiten Pointer gemacht und wollte nicht den Wert sondern die Speicherstelle übergeben. Das hat nun dazu geführt, dass ich das Programm nicht mehr ausführen kann nicht mal wenn ich alle Zeilen auskommatier die dazu gekommen sind. Ich habe das ganze so versucht, wie ich auch in C++ mit Pointern gearbeitet habe.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| program Project2;
uses SysUtils; var pointer1 : ^integer; //pointer2 : ^integer; begin new(pointer1); //new(pointer2); pointer1^ := 10; // pointer2 := @pointer1; Geht nicht? write(inttostr(pointer1^)); //write(inttostr(pointer2^)); readln;
end. |
Thread-Start: Thread-ID: 3220. Prozess Project2.exe (2156)
Prozessstart: C:\Documents and Settings\jytf\My Documents\Borland Studio-Projekte\Project2.exe. Basisadresse: $00400000. Prozess Project2.exe (2156)
Modul laden: Project2.exe. Enthält Debug-Infos. Basisadresse: $00400000. Prozess Project2.exe (2156)
Modul laden: ntdll.dll. Ohne Debug-Infos. Basisadresse: $7C900000. Prozess Project2.exe (2156)
Modul laden: KERNEL32.dll. Ohne Debug-Infos. Basisadresse: $7C800000. Prozess Project2.exe (2156)
Modul laden: OLEAUT32.dll. Ohne Debug-Infos. Basisadresse: $77120000. Prozess Project2.exe (2156)
Modul laden: ADVAPI32.dll. Ohne Debug-Infos. Basisadresse: $77DD0000. Prozess Project2.exe (2156)
Modul laden: RPCRT4.dll. Ohne Debug-Infos. Basisadresse: $77E70000. Prozess Project2.exe (2156)
Modul laden: Secur32.dll. Ohne Debug-Infos. Basisadresse: $77FE0000. Prozess Project2.exe (2156)
Modul laden: GDI32.dll. Ohne Debug-Infos. Basisadresse: $77F10000. Prozess Project2.exe (2156)
Modul laden: USER32.dll. Ohne Debug-Infos. Basisadresse: $7E410000. Prozess Project2.exe (2156)
Modul laden: msvcrt.dll. Ohne Debug-Infos. Basisadresse: $77C10000. Prozess Project2.exe (2156)
Modul laden: ole32.dll. Ohne Debug-Infos. Basisadresse: $774E0000. Prozess Project2.exe (2156)
Modul laden: ShimEng.dll. Ohne Debug-Infos. Basisadresse: $5CB70000. Prozess Project2.exe (2156)
Modul laden: IMM32.dll. Ohne Debug-Infos. Basisadresse: $76390000. Prozess Project2.exe (2156)
Modul entladen: ShimEng.dll. Prozess Project2.exe (2156)
Modul laden: UxTheme.dll. Ohne Debug-Infos. Basisadresse: $5AD70000. Prozess Project2.exe (2156)
Quelltexthaltepunkt bei $00409159: C:\Documents and Settings\jytf\My Documents\Borland Studio-Projekte\Project2.dpr Zeile 9. Prozess Project2.exe (2156)
Erste Gelegenheit für Exception bei $7C812AEB. Exception-Klasse EInOutError mit Meldung 'E/A-Fehler 105'. Prozess Project2.exe (2156)
Das ist die Fehlerausgabe. Ich habe wohl nen ziemlichen Fehler gemacht glaub ich.. Würde mich über Hilfe freuen
