Ik heb een erg vreemd probleem:
Zie het code hieronder:
procedure OpenConf(LunLin, LunCel: integer; Line_File, Cel_File: string; NumSys, Nlin, Ncel, Ier: integer);
var
FName: file;
begin
Ier := 1;
// LineFile := 'c:\mystuff\occup\occupc1.dat';
AssignFile(FName, Line_File);
Reset(FName, (LINES_RECL+3));
BlockRead(FName, Line1, 1);
// Form1.Label1.Caption := IntToStr(NumSys);
if Line1.sys <> NumSys then
begin
raise Exception.Create('Error');
Exit;
end;
Form1.Label1.Caption := 'LastLineRec = ' + IntToStr(Line1.LastLineRec) + ' sys = ' + IntToStr(Line1.sys);
Exit;
end; {OpenConf}
Zie het code hierboven. NumSys is een variabele die bij het aanroepen van deze file wordt doorgegeven, en is 1. Line_File is het bestand dat ik wil openen. Met BlockRead lees ik het eerste record in, in type FirstLine (Line1, bestaat uit 2 integers). Als ik het inlees wordt Line1.LastLineRec 10 en Line1.sys 1 (bijvoorbeeld). Daarna wil ik Line1.sys en NumSys vergelijken. Maar op het moment dat ie bij de if statement aankomt, verandert NumSys opeens in 15
???????
Het vreemdste is is als ik dat Form1.Label1.Caption voor de if terugzet (uncomment), dan blijft NumSys wel mooi 1 en gaat alles goed
???
Iemand enig idee?
Zie het code hieronder:
procedure OpenConf(LunLin, LunCel: integer; Line_File, Cel_File: string; NumSys, Nlin, Ncel, Ier: integer);
var
FName: file;
begin
Ier := 1;
// LineFile := 'c:\mystuff\occup\occupc1.dat';
AssignFile(FName, Line_File);
Reset(FName, (LINES_RECL+3));
BlockRead(FName, Line1, 1);
// Form1.Label1.Caption := IntToStr(NumSys);
if Line1.sys <> NumSys then
begin
raise Exception.Create('Error');
Exit;
end;
Form1.Label1.Caption := 'LastLineRec = ' + IntToStr(Line1.LastLineRec) + ' sys = ' + IntToStr(Line1.sys);
Exit;
end; {OpenConf}
Zie het code hierboven. NumSys is een variabele die bij het aanroepen van deze file wordt doorgegeven, en is 1. Line_File is het bestand dat ik wil openen. Met BlockRead lees ik het eerste record in, in type FirstLine (Line1, bestaat uit 2 integers). Als ik het inlees wordt Line1.LastLineRec 10 en Line1.sys 1 (bijvoorbeeld). Daarna wil ik Line1.sys en NumSys vergelijken. Maar op het moment dat ie bij de if statement aankomt, verandert NumSys opeens in 15
Het vreemdste is is als ik dat Form1.Label1.Caption voor de if terugzet (uncomment), dan blijft NumSys wel mooi 1 en gaat alles goed
Iemand enig idee?
Windows Vista? *NEVER* Het waarom - Opera forever!!!
I've seen chickens that were more menacing. Chickens in a coma. On ice. In my fridge