Moin,
habe hier einen seltsamen Effekt : es soll ein JPG in ein TImage geladen werden. Die JPGs sind dabei im Unterordner "images".
Delphi-Quellcode:
ShowMessage('a '+GetCurrentDir+'*'+dlgBildLaden.InitialDir+'*');
if dlgBildLaden.Execute then begin
ShowMessage('b '+GetCurrentDir);
st := ExtractFileName(dlgBildLaden.FileName);
DM.DS.Edit;
DM.DS.FieldByName ('BILDDATEINAME').AsString := st;
if StrVorhanden(st) then
imgBild.Picture.LoadFromFile(st);
end;
ShowMessage('c '+GetCurrentDir);
Die Showmessages zeigen mir nun folgendes an : a : Verzeichnis, wo die EXE ist. Sofern Datei ausgewählt wurde, also execute, zeigt b : ProgVerz\images. Bei c steht dann, je nachdem, das von b oder c. Soweit kann man das noch nachvollziehen, denn in dem Dialog war als InitialDir "images" im
OI.
Zu verhindern, dass einfach so das Programm-Verzeichnis gewechselt wird, das habe ich bereits gefunden : bei Options gibt es ofNoChangeDir und das ist standardmässig false. Da das aber jetzt schon hier steht : bevor ich die Einstellung im
OI gefunden hatte, habe ich den OpenDialog gelöscht und neu auf die Form gelegt. Sogar unter anderem Namen, falls noch irgendwo was im Source steht. 8) Woher weiß der leere Dialog jetzt aber, dass ich in einem bestimmten Unterverzeichnis was suchen will und, dass es sich hierbei ausgerechnet um den Ordner "images" handelt ?