Das sieht so aus (Ausschnitt in dem der rote Balken erscheint).
Delphi-Quellcode:
procedure TForm1.einlesen;
var excel: Variant; i,a: Integer;
begin
try
Excel := CreateOleObject('Excel.Application');
except
ShowMessage('Excel konnte nicht gestartet werden!');
Exit;
end;
// Laden
try
Excel.workbooks.open(edtspeicherort.Text);
except
ShowMessage('Datei konnte nicht geöffnet werden');
Excel.free;
Exit;
end;
excel.EditDirectlyInCell := True; // Hab versucht ob das vielleicht hilf?? Tut es nicht...
// Daten lesen
anzahl := excel.cells[1,2].value; //Anfangsdaten
setlength(maxwert,anzahl);
pb1.Max := anzahl;
maxwert[0] := excel.cells[3,4].value;
for i := 0 to anzahl do // So viele Datensätze werden eingelesen
begin
maxwert[i] := excel.cells[3+summe(i),4].value; //Aktuelle Anzahl an Werten // HIER meckert er!!
datum[i+1] := excel.cells[3+summe(i),2].value;
pb1.Position := i;
Wobei:
Delphi-Quellcode:
datum: array[1..100] of string;
maxwert: array of Integer;
anzahl: Integer;
Aber wie gesagt es hat lange Zeit funktioniert... komischer Weise tritt der Fehler erst seit kurzen auf.