UpdateService.cs - теперь не ругается на 4.8
This commit is contained in:
parent
d17edbd8b4
commit
4ef22cfcb0
|
|
@ -15,7 +15,7 @@ internal static class RevisionClass
|
|||
public const string Major = "3";
|
||||
public const string Minor = "5";
|
||||
public const string Build = "1";
|
||||
public const string Revision = "2247";
|
||||
public const string Revision = "2250";
|
||||
|
||||
public const string MainVersion = Major + "." + Minor;
|
||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%MINOR%=5
|
||||
%REVISION%=2247
|
||||
%COREVERSION%=1
|
||||
%REVISION%=2250
|
||||
%MINOR%=5
|
||||
%MAJOR%=3
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
||||
<param name="Keyword" value="OnDrawFrame">
|
||||
<param name="Keyword" value="OnKeyDown">
|
||||
<param name="Keyword" value="OnKeyPress">
|
||||
<param name="Keyword" value="OnKeyUp">
|
||||
|
|
@ -23,7 +22,5 @@
|
|||
<br> Ñîáûòèå íàæàòèÿ ñèìâîëüíîé êëàâèøè</td></tr>
|
||||
<tr><td><code>OnResize: <b>procedure</b>;</code>
|
||||
<br> Ñîáûòèå èçìåíåíèÿ ðàçìåðà ãðàôè÷åñêîãî îêíà</td></tr>
|
||||
<tr><td><code>OnDrawFrame: <b>procedure</b>(dt: real);</code>
|
||||
<br> Событие перерисовки графического окна.Инициализируется процедурой с вещественным параметром dt - временем, прошедшим с момента последнего обновления экрана</td></tr>
|
||||
</table>
|
||||
</body></HTML>
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
||||
<param name="Keyword" value="OnDrawFrame">
|
||||
<param name="Keyword" value="OnKeyDown">
|
||||
<param name="Keyword" value="OnKeyPress">
|
||||
<param name="Keyword" value="OnKeyUp">
|
||||
|
|
@ -8,7 +9,9 @@
|
|||
<param name="Keyword" value="OnResize"></object>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
|
||||
</HEAD><body><H1>Ñîáûòèÿ ìîäóëÿ WPFObjects</H1>
|
||||
<table border=0 cellpadding=5><tr><td><code>OnKeyDown: <b>procedure</b>(k: Key);</code>
|
||||
<table border=0 cellpadding=5><tr><td><code>OnDrawFrame: <b>procedure</b>(dt: real);</code>
|
||||
<br> Ñîáûòèå ïåðåðèñîâêè ãðàôè÷åñêîãî îêíà. Ïàðàìåòð dt îáîçíà÷àåò êîëè÷åñòâî ìèëëèñåêóíä ñ ìîìåíòà ïîñëåäíåãî âûçîâà OnDrawFrame</td></tr>
|
||||
<tr><td><code>OnKeyDown: <b>procedure</b>(k: Key);</code>
|
||||
<br> Ñîáûòèå íàæàòèÿ êëàâèøè</td></tr>
|
||||
<tr><td><code>OnKeyPress: <b>procedure</b>(ch: char);</code>
|
||||
<br> Ñîáûòèå íàæàòèÿ ñèìâîëüíîé êëàâèøè</td></tr>
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
3.5.1.2247
|
||||
3.5.1.2250
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!define VERSION '3.5.1.2247'
|
||||
!define VERSION '3.5.1.2250'
|
||||
|
|
|
|||
|
|
@ -483,9 +483,6 @@ var OnKeyUp: procedure(k: Key);
|
|||
var OnKeyPress: procedure(ch: char);
|
||||
/// Событие изменения размера графического окна
|
||||
var OnResize: procedure;
|
||||
/// Событие перерисовки графического окна.
|
||||
///Инициализируется процедурой с вещественным параметром dt - временем, прошедшим с момента последнего обновления экрана
|
||||
var OnDrawFrame: procedure(dt: real) := nil;
|
||||
|
||||
//{{{--doc: Конец секции 3 }}}
|
||||
|
||||
|
|
@ -1569,6 +1566,7 @@ procedure SystemOnResize(sender: Object; e: SizeChangedEventArgs) :=
|
|||
|
||||
var OnDraw: procedure := nil;
|
||||
var OnDraw1: procedure(frame: integer) := nil;
|
||||
var OnDrawT: procedure(dt: real) := nil;
|
||||
|
||||
var FrameRate := 61; // кадров в секунду. Можно меньше!
|
||||
var LastUpdatedTime := new System.TimeSpan(integer.MinValue);
|
||||
|
|
@ -1577,12 +1575,12 @@ var FrameNum := 0;
|
|||
|
||||
procedure RenderFrame(o: Object; e: System.EventArgs);
|
||||
begin
|
||||
if (OnDraw<>nil) or (OnDraw1<>nil) or (OnDrawFrame<>nil) then
|
||||
if (OnDraw<>nil) or (OnDraw1<>nil) or (OnDrawT<>nil) then
|
||||
begin
|
||||
var e1 := RenderingEventArgs(e).RenderingTime;
|
||||
var dt := e1 - LastUpdatedTime;
|
||||
var delta := 1000/Framerate; // через какое время обновлять
|
||||
if OnDrawFrame<>nil then
|
||||
if OnDrawT<>nil then
|
||||
delta := 0; // перерисовывать когда придёт время
|
||||
if dt.TotalMilliseconds < delta then
|
||||
exit
|
||||
|
|
@ -1593,8 +1591,8 @@ begin
|
|||
OnDraw()
|
||||
else if OnDraw1<>nil then
|
||||
OnDraw1(FrameNum)
|
||||
else if OnDrawFrame<>nil then
|
||||
OnDrawFrame(dt.Milliseconds/1000);
|
||||
else if OnDrawT<>nil then
|
||||
OnDrawT(dt.Milliseconds/1000);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
|
@ -1616,7 +1614,7 @@ end;
|
|||
|
||||
procedure BeginFrameBasedAnimationTime(Draw: procedure(dt: real));
|
||||
begin
|
||||
OnDrawFrame := Draw;
|
||||
OnDrawT := Draw;
|
||||
end;
|
||||
|
||||
procedure EndFrameBasedAnimation;
|
||||
|
|
|
|||
|
|
@ -1184,6 +1184,8 @@ var
|
|||
OnKeyPress: procedure(ch: char);
|
||||
/// Событие изменения размера графического окна
|
||||
OnResize: procedure;
|
||||
/// Событие перерисовки графического окна. Параметр dt обозначает количество миллисекунд с момента последнего вызова OnDrawFrame
|
||||
OnDrawFrame: procedure(dt: real) := nil;
|
||||
|
||||
// -----------------------------------------------------
|
||||
//>> Функции пересечения# Intersection functions
|
||||
|
|
@ -1207,15 +1209,16 @@ procedure __InitModule__;
|
|||
procedure __FinalizeModule__;
|
||||
//{{{--doc: Конец секции 2 }}}
|
||||
|
||||
procedure BeginFrameBasedAnimation(Draw: procedure; frate: integer := 61);
|
||||
//procedure BeginFrameBasedAnimation(Draw: procedure; frate: integer := 61);
|
||||
|
||||
//procedure BeginFrameBasedAnimationTime(DrawT: procedure(dt: real));
|
||||
|
||||
procedure BeginFrameBasedAnimationTime(DrawT: procedure(dt: real));
|
||||
|
||||
implementation
|
||||
|
||||
procedure BeginFrameBasedAnimation(Draw: procedure; frate: integer) := GraphWPF.BeginFrameBasedAnimation(Draw,frate);
|
||||
//procedure BeginFrameBasedAnimation(Draw: procedure; frate: integer) := GraphWPF.BeginFrameBasedAnimation(Draw,frate);
|
||||
|
||||
procedure BeginFrameBasedAnimationTime(DrawT: procedure(dt: real)) := GraphWPF.BeginFrameBasedAnimationTime(DrawT);
|
||||
//procedure BeginFrameBasedAnimationTime(DrawT: procedure(dt: real)) := GraphWPF.BeginFrameBasedAnimationTime(DrawT);
|
||||
|
||||
function RGB(r,g,b: byte) := Color.Fromrgb(r, g, b);
|
||||
function ARGB(a,r,g,b: byte) := Color.FromArgb(a, r, g, b);
|
||||
|
|
@ -1540,6 +1543,19 @@ procedure SystemOnResize(sender: Object; e: SizeChangedEventArgs) :=
|
|||
if OnResize<>nil then
|
||||
OnResize();
|
||||
|
||||
var LastUpdatedTimeWPF := new System.TimeSpan(integer.MinValue);
|
||||
|
||||
procedure RenderFrameWPF(o: Object; e: System.EventArgs);
|
||||
begin
|
||||
if OnDrawFrame<>nil then
|
||||
begin
|
||||
var e1 := RenderingEventArgs(e).RenderingTime;
|
||||
var dt := e1 - LastUpdatedTimeWPF;
|
||||
LastUpdatedTimeWPF := e1;
|
||||
OnDrawFrame(dt.Milliseconds/1000);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure __InitModule;
|
||||
begin
|
||||
AdditionalInit := procedure ->
|
||||
|
|
@ -1554,6 +1570,8 @@ begin
|
|||
MainWindow.TextInput += SystemOnKeyPress;
|
||||
MainWindow.SizeChanged += SystemOnResize;
|
||||
|
||||
CompositionTarget.Rendering += RenderFrameWPF;
|
||||
|
||||
Objects := new ObjectsType;
|
||||
Window := GraphWPF.Window;
|
||||
GraphWindow := GraphWPF.GraphWindow;
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ namespace VisualPascalABC
|
|||
{
|
||||
using (var key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full"))
|
||||
{
|
||||
return key != null && (key.GetValue("Version") as string).StartsWith("4.7");
|
||||
return key != null && ((key.GetValue("Version") as string).StartsWith("4.7") || (key.GetValue("Version") as string).StartsWith("4.8"));
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
|
|||
Binary file not shown.
Loading…
Reference in a new issue