Moment, die Items sind doch schon in der Listbox enthalten, oder? Dann ist die ganze Passage
Zitat:
Delphi-Quellcode:
if OpenDialog1.Execute() then // wenn ich hier die 1 entferne, und oben ebenfalls, gibts wieder einen Laufzeitfehler.
begin
lIndex := Length(MeinArray);
Form4.Show; // Das ist das 2te Formular, in der man den ALternativnamen eingibt.
SetLength(MeinArray, lIndex + 1);
MeinArray[lIndex].RealFileName := OpenDialog1.FileName;
MeinArray[lIndex].DisplayName := Form4.Edit1.Text;
ListBox1.Items.Add(MeinArray[lIndex].DisplayName);
end;
doch Grütze, da Du hier wieder den OpenDialog aufrufst und das Item hinzufügst. Außerdem fehlt hiervor irgendwie ein Aufruf von ShellExecute.
Zitat:
Delphi-Quellcode:
if Err <= 32 then
Showmessage(ShellExecuteErrMessage(Err));
Err ist gar nicht initialisiert, was soll denn da kommen? Das soll doch den Rückgabewert von ShellExecute aufnehmen, oder täusche ich mich?