UpdateService.cs - теперь не ругается на 4.8

This commit is contained in:
Mikhalkovich Stanislav 2019-09-14 19:19:29 +03:00
parent d17edbd8b4
commit 4ef22cfcb0
10 changed files with 38 additions and 22 deletions

View file

@ -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;

View file

@ -1,4 +1,4 @@
%MINOR%=5
%REVISION%=2247
%COREVERSION%=1
%REVISION%=2250
%MINOR%=5
%MAJOR%=3

View file

@ -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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîáûòèå íàæàòèÿ ñèìâîëüíîé êëàâèøè</td></tr>
<tr><td><code>OnResize: <b>procedure</b>;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîáûòèå èçìåíåíèÿ ðàçìåðà ãðàôè÷åñêîãî îêíà</td></tr>
<tr><td><code>OnDrawFrame: <b>procedure</b>(dt: real);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Событие перерисовки графического окна.Инициализируется процедурой с вещественным параметром dt - временем, прошедшим с момента последнего обновления экрана</td></tr>
</table>
</body></HTML>

View file

@ -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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîáûòèå ïåðåðèñîâêè ãðàôè÷åñêîãî îêíà. Ïàðàìåòð dt îáîçíà÷àåò êîëè÷åñòâî ìèëëèñåêóíä ñ ìîìåíòà ïîñëåäíåãî âûçîâà OnDrawFrame</td></tr>
<tr><td><code>OnKeyDown: <b>procedure</b>(k: Key);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîáûòèå íàæàòèÿ êëàâèøè</td></tr>
<tr><td><code>OnKeyPress: <b>procedure</b>(ch: char);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ñîáûòèå íàæàòèÿ ñèìâîëüíîé êëàâèøè</td></tr>

View file

@ -1 +1 @@
3.5.1.2247
3.5.1.2250

View file

@ -1 +1 @@
!define VERSION '3.5.1.2247'
!define VERSION '3.5.1.2250'

View file

@ -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;

View file

@ -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;

View file

@ -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.