Thema: Delphi INI-Dateien mit Non-VCL

Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 20. Apr 2003, 23:47
Moin Delphi Freak,

wenn ich mir das so ansehe, müsstest Du eigentlich beim ersten Aufruf schon eine Access Violation (Zugriffsverletzung, Error 5) bekommen.

Du deklarierst zwar eine Konstante für die Buffergrösse, aber der Buffer selber wird bei Dir nicht initialisiert (4. Parameter von GetPrivateProfileString).

Zum Verständnis:
Ein PChar (test1, test2) ist nichts weiter als ein Pointer, der als Zeiger auf einen nulltermnierten Ansistring angesehen wird, wie er in C üblich ist.
Wird kein Speicher reserviert (z.b. mit Getmem, AllocMem), so zeigt dieser Pointer irgendwo hin, so dass ein Zugriff auf den Speicher, auf den der Wert in test1 (bzw. test2) verweist i.d.R. einen Fehler produziert.
Da Daten an die Stelle gelesen werden sollen, auf die die Pointer zeigen, könnte es sogar sein, dass Teile des Programmes im Speicher überschrieben werden, was der Stabilität nicht gerade zu gute kommt
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat