Schätze, das Interessante ist, wie Du Deine diversen Strings definierst/deklarierst.
Das hier funktioniert einwandfrei:
Delphi-Quellcode:
procedure TfrmTesterMain.Button1Click(Sender: TObject);
const
MaxColumns = 5;
TYPE
TColDef = RECORD
col: INTEGER;
descrEXC: STRING; (* descrEXC in EXCEL *)
descrDB: STRING;
activ: BOOLEAN;
typ: CARDINAL;
END;
TRowDef = ARRAY[1..MaxColumns] OF TColDef;
CONST
KredRowDef: TRowDef =
(
(col: 1; descrEXC: 'ER-Nummer' ; descrDB: 'KreditRechnID' ; activ: TRUE; typ: varEmpty )
, (col: 2; descrEXC: 'R-Nummer' ; descrDB: 'KreditRechnNr' ; activ: TRUE; typ: varOleStr)
, (col: 3; descrEXC: 'Rechnungsdatum' ; descrDB: 'Rechnungsdatum'; activ: TRUE; typ: varEmpty )
, (col: 4; descrEXC: 'NochaNummer' ; descrDB: 'NoaNr' ; activ: TRUE; typ: varOleStr)
, (col: 5; descrEXC: 'SchoWiedaANummer'; descrDB: 'SwaNr' ; activ: TRUE; typ: varOleStr)
);
var
c: Integer;
titel: string;
s: string;
begin
titel := 'R-Nummer';
for c := 1 to MaxColumns do begin
if (titel = KredRowDef[c].descrEXC) then begin
ShowMessage('[1] ' + titel + ' ' + KredRowDef[c].descrDB);
end; { if ('R-Nummer' = KredRowDef[c].descrEXC) }
ShowMessage('[2] ' + KredRowDef[c].descrEXC);
s := KredRowDef[c].descrEXC;
ShowMessage('[3] ' + s);
end; { for c := 1 to MaxColumns do }
end;