![]() |
|||||||||||||||||
|
|
|||||||||||||||||
|
|
|||||||||
|
Delphi |
DELPHI DEVELOPER SUPPORT
Delphi 3 update and patch
Areas of concentration under: compiler Area: compiler\code generation\optimization Problem:
This code will generate a C1376 compiler error:
library YodaQ;
uses
DB,
DBTables,
StdCtrls,
Forms;
type
TVariableQuestionnaire = record
Selfa : integer;
sz2 : array[00..05] of string;
sz3 : array[00..05] of string;
end;
TFormQE = class(TForm) // TFormQE
aptr : TButton;
end;
procedure TFormQE_Memo1Affichage(var dmQ:
TQuery;
var oVQ: TVariableQuestionnaire;var f :
TFormQE);
begin
dmQ.Locate('Theme',VarArrayOf([oVQ.sz2[oVQ.Self
a],oVQ.sz3[oVQ.Selfa]])
,[loPartialKey]);
while (((f=nil)) and (not (f.aptr=nil)))do;
end; // < --- internal error : C1376
end.
Comments:
if the procedure is sandwiched between the {$O-}
and { $0+} the problems disappear.
Area: compiler\code generation\optimization Problem:
Internal compiler error: C1376 when compiling
With optimizations on. It compiles fine with
optimization off.
CODE:
unit Unit2;
interface
uses
Windows, Classes, Controls;
type
TvgState = (vgSelected, vgMarked);
TvgCellState = set of TvgState;
TvgCell = Record
vgState : TvgCellState;
vgCellDate : Double;
end; {TvgCell}
TvgCells = Array [0..10, 0..10] of TvgCell;
TVGCalendar = class(TCustomControl)
private
FvgColWidth: Integer;
FvgRowHeight: Integer;
FvgHeaderHeight: Integer;
vgCells: TvgCells;
procedure ShiftSelect(StartCol, StartRow,
EndCol, EndRow: Integer);
end;
implementation
procedure TVGCalendar.ShiftSelect(StartCol,
StartRow, EndCol, EndRow: Integer);
var
StartIndex, EndIndex: Integer;
I: Integer;
ACol, ARow: Integer;
ARect: TRect;
begin
StartIndex := StartRow + StartCol;
EndIndex := EndRow;
for I := 1 to 2 do
begin
ARow := 1;
ACol := 1;
end;
for I := StartIndex to EndIndex do
begin
ARow := I;
ACol := I - ARow;
if not (vgSelected in vgCells[ACol,
ARow].vgState) then
begin
vgCells[ACol, ARow].vgState := vgCells[ACol,
ARow].vgState + [vgSelected];
ARect := Bounds( ACol * FvgColWidth, ARow *
FvgRowHeight + FvgHeaderHeight, FvgColWidth,
FvgRowHeight);
end;
end;
end; { < -- compiler says error C1376 here!!}
Area: compiler\code generation\optimization Problem: This code causes an Access Violation in DCC.DLL. unit Prob1; interface type T1 = ( A, B, C ); T2 = B .. C; const K = low ( T2 ); implementation end.
NOTE: These listings are for informational use only. It is not intended for use when calling Inprise's Developer Support Department.
|
|
|
|
|||||
| Made in Borland® Copyright© 1994-2003 Borland Software Corporation. All rights reserved. Report Piracy, Legal Notices, Privacy Policy Last Modified Thursday, 22-Mar-2001 18:57:02 EST |
|||||