home *** CD-ROM | disk | FTP | other *** search
- unit Procal2;
- {$O-} // Do not remove! Delphi might crash !!!!
- {$R-}
- {$Q-}
- {$A+}
-
- interface
- USES
- Windows;
-
- TYPE
- {$IFDEF VER90 }
- TMyComp = Comp;
- {$ELSE }
- {$IFDEF VER100 }
- TMyComp = Comp;
- {$ELSE }
- TMyComp = Int64;
- {$ENDIF }
- {$ENDIF }
- TMyLargeInteger = RECORD
- CASE Byte OF
- 0 : ( LowPart : DWORD; HighPart : LongInt );
- 1 : ( QuadPart : TMyComp );
- END;
-
- PROCEDURE Empty;
- FUNCTION TopFunction ( VAR index : Integer ) : TMyLargeInteger;
- FUNCTION FunctionWith100( VAR index : Integer ) : TMyLargeInteger;
- FUNCTION FunctionWith1000( VAR index : Integer ) : TMyLargeInteger;
-
- implementation
-
- FUNCTION DeepFunction : Integer;
- BEGIN
- Result := 0;
- END;
-
- FUNCTION MidFunction : Integer;
- VAR
- i : Integer;
- BEGIN
- FOR i := 1 TO 10 DO
- Result := DeepFunction;
- END;
-
- FUNCTION TopFunction ( VAR index : Integer ) : TMyLargeInteger;
- VAR
- i : Integer;
- BEGIN
- FOR i := 1 TO 10 DO
- index := MidFunction;
- Result.lowpart := 0;
- Result.highpart := 0;
- END;
-
- FUNCTION FunctionWith100( VAR index : Integer ) : TMyLargeInteger;
- VAR
- i : Integer;
- BEGIN
- Result.lowpart := 0;
- Result.highpart := 0;
- FOR i := 1 TO 100 DO
- INC(index);
- END;
-
- FUNCTION FunctionWith1000( VAR index : Integer ) : TMyLargeInteger;
- VAR
- i : Integer;
- BEGIN
- Result.lowpart := 0;
- Result.highpart := 0;
- FOR i := 1 TO 1000 DO
- INC(index);
- END;
-
- PROCEDURE Empty;
- BEGIN
- END;
-
- PROCEDURE NotUsed;
- BEGIN
- END;
-
-
- end.
-