Implemented warning and error states
Improved error handling Delphi XE2 compatibility
This commit is contained in:
parent
2af968faef
commit
e5463b9e27
@ -118,7 +118,6 @@ object MainForm: TMainForm
|
||||
Font.Height = -11
|
||||
Font.Name = 'Tahoma'
|
||||
Font.Style = []
|
||||
ItemHeight = 13
|
||||
ItemIndex = 0
|
||||
ParentFont = False
|
||||
TabOrder = 0
|
||||
@ -134,7 +133,6 @@ object MainForm: TMainForm
|
||||
Style = csDropDownList
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
DropDownCount = 20
|
||||
ItemHeight = 13
|
||||
ItemIndex = 0
|
||||
TabOrder = 1
|
||||
Text = 'Parking brake'
|
||||
@ -149,7 +147,6 @@ object MainForm: TMainForm
|
||||
Style = csDropDownList
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
DropDownCount = 20
|
||||
ItemHeight = 13
|
||||
ItemIndex = 0
|
||||
TabOrder = 2
|
||||
Text = 'Landing lights'
|
||||
@ -164,7 +161,6 @@ object MainForm: TMainForm
|
||||
Style = csDropDownList
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
DropDownCount = 20
|
||||
ItemHeight = 13
|
||||
ItemIndex = 0
|
||||
TabOrder = 3
|
||||
Text = 'Landing gear'
|
||||
@ -179,7 +175,6 @@ object MainForm: TMainForm
|
||||
Style = csDropDownList
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
DropDownCount = 20
|
||||
ItemHeight = 13
|
||||
ItemIndex = 0
|
||||
TabOrder = 4
|
||||
Text = '<Not assigned>'
|
||||
@ -194,7 +189,6 @@ object MainForm: TMainForm
|
||||
Style = csDropDownList
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
DropDownCount = 20
|
||||
ItemHeight = 13
|
||||
ItemIndex = 0
|
||||
TabOrder = 5
|
||||
Text = '<Not assigned>'
|
||||
@ -209,7 +203,6 @@ object MainForm: TMainForm
|
||||
Style = csDropDownList
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
DropDownCount = 20
|
||||
ItemHeight = 13
|
||||
ItemIndex = 0
|
||||
TabOrder = 6
|
||||
Text = 'Instrument lights'
|
||||
@ -224,7 +217,6 @@ object MainForm: TMainForm
|
||||
Style = csDropDownList
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
DropDownCount = 20
|
||||
ItemHeight = 13
|
||||
ItemIndex = 0
|
||||
TabOrder = 7
|
||||
Text = '<Not assigned>'
|
||||
@ -297,188 +289,188 @@ object MainForm: TMainForm
|
||||
Height = 64
|
||||
AutoSize = True
|
||||
Picture.Data = {
|
||||
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000004000
|
||||
0000400806000000AA6971DE0000001974455874536F6674776172650041646F
|
||||
626520496D616765526561647971C9653C000016424944415478DAED5B097454
|
||||
6596BEB5A4925452492A5B5565237B422A1B842D203620A233CD32EA8C23DD6D
|
||||
6BAB38CCA0D29E565BB6695A5C41A0C1BD955D96398D0B22626B1F1515B12181
|
||||
2C908DAC55D993CA5AD9AA2A5573BFBFF26241E3B4A860E6D87FCE3BAFB6B7DC
|
||||
EFFFEEBDDFBDFF8BCCE572251251276F72FA710D276F5A1903A01D01E0C73804
|
||||
0061FCA2ED87BE931F6884FD03801F000095D56AD5DBEDF6009BCDE6373C3CEC
|
||||
CDAFB179F1A6181C1854A9FDD4D69494943F0F0E0E6A9B9B9B93F9774AFE4EEE
|
||||
743A8937194E2297CB9D0A85C2A1542A6D5E5E5E761F1F9FDEB0B0B07A7EEF18
|
||||
B300B4B6B61ADFF8D3C16D1D1D1DE90EC7B0920D53381C0EF9D0D0909C8DA5FE
|
||||
FE7EEAEAEAC2DE71DFFDF7AD292D29FDF7828282F49E9E1E396FD4D7DF47B621
|
||||
1BF131C4C091D3E574D96D76676868A833332B7378CE7573FE7CFBEDB7DFC6C0
|
||||
D8C61C00ED6DED098FFDFEB1BF984CA6581F6F1F72F11F06661506F17D505F5F
|
||||
1F353535512783306DEA54F1596F6F2F3163686060801828F15B6683D8982D14
|
||||
171F4773E7CEA5F0F070EAE7DFDC7DCF5D130D06C399310500A8FEE8238F7E78
|
||||
FCF8F15C3F3F3F61984C26137B00803DCF1A7577775375753585EB7414151929
|
||||
0081D1D860B09875B71BE09C949E9E4E1919198239CC2A8A8D8BA5DB7EB6F8E1
|
||||
493939CF8E2900DE39F4CEFD2B57ACDC0AE361288CF71CECCFE2B39A9A1A31E3
|
||||
E3C68D1B3512332EB1447A8DCF636262C4CC9796968A0DAF333233282030E0FC
|
||||
2DB7DC325BA3D1348C0900F88695BF7E60F9F1FCFCD353008064ACB461001450
|
||||
BFACBC8CB45A2D2527258B59C78C63F3A43DDE0380D4D454CA9934897C7C7D68
|
||||
FB6BDBE8D65B6FA5B884381CE75ABC787136BB44D19800A0B7B747F75F4B9795
|
||||
70700BF6F5F51500C0600C4F269CCA3B4595559594919E41498949170020190F
|
||||
20603C3ECBC9C911B1019F7FF4F14774F34D37D3D4695369F69CD90F2425253D
|
||||
CFA7748D09001A1A1A8CCBEF5F9ECF37EFCD83384D11A7AD5157C01E061D3B76
|
||||
8C6A4C35343967F2280012ED3D37F83B8E9F316306718AA4BADA3AAA33D751CE
|
||||
C41C321AD368C97FDC3B272222E2E36F787B571E80A2A2A2EB1F79E8910F70D3
|
||||
00007B80800D6C50A954C2D88F3FF998EA1BEA39FA4FA3F8B878425AF47401C9
|
||||
0DF0398E4B4B4B63838D545656466016B24A5FAF951EFCCD83F35252533F1C33
|
||||
007CFED967B7AE5CB1EA7FD46AB530569A7D0908EC01C0B14F8F51635323CD98
|
||||
3E8362A262687068F082E007E3A50088E358F40800CE9E3DCB2039E991471FA1
|
||||
A6C6C6F6DCE9D37374BA70D39801E0C30F3EB86BD5CAD5DBFCFDFD85B19E0C90
|
||||
5EC3A8CF8F7F4EED1DED3463DA74D285EB69C83674010092F801587ABD9E58FC
|
||||
505D5D1D353636D21D77FC92162C5A4401019A0FF9BB791767991F1480B7DE7C
|
||||
F3A1B5BFFBFD06002031C0D305F01EB37DF2E449B19F3471120506068E467C4F
|
||||
E3A52D2424443080330BC7042B6D7D6EAB0051A7D79FCBCDCDCDE1CB0E8D1900
|
||||
76EDDCB5EEA9279F5ACD79799401921B481B025BF9F9722183A74E9E2A7C5A8A
|
||||
FA608104060413400300ACFD292F2F8FDADA5A69DE0D375050509073F9F2E54B
|
||||
B3B2B35EBD8CDBBBF200BCF4E24BEBD73FB3FE61CCAAA7EF63F304A0BAA69A7A
|
||||
ADBD8201F8CE53F8783200BFC7ECB3C1545E5E4E26CE0009F189347FE1828655
|
||||
AB56A630407D630A802D7FD8B265C3FA0D0F80019E867B02009D5FC10C4030CB
|
||||
CECA16E9F162C325198CEF38CD0937816A940223CF7CE1A6CD9B263300F63105
|
||||
C0E64D9BB63EFDD433F70300180B0A7BC6007C86D456535BC3CA88282D354D50
|
||||
DD53F74B00482E00A98C8DD1A0B0F030FAE2F8173471C28477376CDCB0E0326F
|
||||
EFCA03F0C273CF3FFD5B1EC1C121C26849FC486048002005028044A6B3542449
|
||||
9BE77B9C030C08E1F379FB780B006A590CCDBDEEBA5797DDBFECDE3107C0892F
|
||||
4EDCB86CD9B29D0DF50D3A501D0623C849AA102080C22DAD2DE2754C748C384E
|
||||
18EE74A1E6170048ACC0315CEE8A18A0F6558B7489E397FEE7D2DF2E5CB470FD
|
||||
98030083357B585161E1A453274F5DC39A7F527151714E7D7D43080CF6E5683E
|
||||
CCC6593A2DACDE5D141A1C3ACA1430028A1EC64BA0E03BE800082B1457A80A2B
|
||||
2B2B69D57FAFBAF99A19D7BC352601B8787475751A8A8A8AB3563EBA6273FEE9
|
||||
FC541F6604040E0CD40669C58CE2B55C8178E1454EC7B0384E124F3A9D8E8283
|
||||
83C566369B893546CBC1370F66325B1CBD3DBDDECCB06EFEAE7FCC0280515559
|
||||
F5935FDDF9AB3D2525E7A255EC0E3DBD3D62D693129284F19DDD9D28A4C4ECC7
|
||||
C68C6323355C32378A78A1D5060F474545F5474545D6C4C5C79F0C0D0DB35A7B
|
||||
7B354DCD4DC96C7C09EB864206AB2C3323B3F417BFFC4533DC6D4C01F0C1FB1F
|
||||
3C5C5C5CFCC4C1837FF2AAA8382F440D00C08CC7C5C489C2A6974BDDE6966652
|
||||
F18CCF9E3D9B6EBCE146AAAEAEA2F3E72BE102676EBAE9A617144A45F7F1CF8F
|
||||
FF339AA9D7CEBAF6DD59B3661D429394D9A432D599346FBFF5B67F557555F7DA
|
||||
B56BBBF506FDA5CAE3AB0B80B5D71AF0EEE1773773D172170C7EE38D3778961B
|
||||
8544C67BCC5474543433C045DD3D5D34C0B31DCC2E71EDAC9F882AB1ABB35368
|
||||
068E2936DE0F984C260D8B28D9BC79F3F6C425C415707D50C7E9B19CB3441DBB
|
||||
8A15D73C72E4880F03E1DCB869A33D2020E06210AE1E001CF4528F1C3EBCDD6E
|
||||
B7E56A3401A299B165EB16B2B47790973703D0D3C381CD9722F411C20598D388
|
||||
89E2F5D2A54B29392599BABABBA8AFAF9FAC3DBDD4C9604008E1B8969616B147
|
||||
9660306D5AADB6695A6EEEB165F72D5B131E1E66DAB963A7A2BAAA4AF6D8E3EB
|
||||
2E6E995F1D00CE9C39F34F1FFDE5A3577D7D7D220F1D3A44164B07F50FF48986
|
||||
8652E1C5D457A073441AF673C85C180D790C46801D6969E3897D9E1C6CA028A0
|
||||
38304225221E801152E75800D2DD4336BB8302028368E1A2F9C50F3FFC9B397C
|
||||
8EF67B97DCAB5C72EF12E79429539C571580A3EF1D7D282F2FFFF1E8C848EFBD
|
||||
FBF6B21FD7607D80121212841126B349A442748071D3C15AED280032B94C748A
|
||||
7B7ABA19086F217E50554203C4C6C68A521800201B203B747676513F33242C3C
|
||||
9C8CE9E9AC39E434F7FAEB56DC70C3BCA7BF3CF1A59C63856CE6B53387AF0A00
|
||||
6C80EF81FD07B6D6D6D4DE83EECDE1C3EF504949A9C8DFA02CD45C9BA55D1867
|
||||
B7D90500A121A104C90C60F01EB466FD2798A00DD48A2A108C409A8C8E8E1620
|
||||
E177A816C10CBB7D98821840B4CBA572392252FFD9E6CD1B67738681E123CAE2
|
||||
0A03D0D4D814BD7DDBF6DD7CA3B392921239729FA78307DF10378616166E4E5A
|
||||
1FC00643C18AB0D030A1FC60100C03A5E53239F9F9FB89DC8F59067828845252
|
||||
5204EDE146D87B31438238601AD38D02C892921271DD88088365E7AEED690C7C
|
||||
EB256EF5FB07A0A8B068D26BAFBEF63AA7A394969656BEF170D6EAB5C24850B5
|
||||
A8A848F8B3541461762D160B718416F4961641F07BA9318AEFB081F230184080
|
||||
0D7ECCA66176171F1F35A919502C92A05384365955559588117E6A5FE7CBAFBC
|
||||
38333129E98B2B0EC091778FDC79F8D0E18D757575C1C8E9A02BA42AFC147255
|
||||
EA00C3F8D14ACF394C1D1C140D1106CEF9AAD122C94D6937103016511F1523C0
|
||||
022BB014C63A803541041B1D46E9C6740A0D0B15006375498087E33986ACF9DD
|
||||
EA658B7FB6F8C52B0600FBB072DBF66DBFFBFCD867ABD38C4621642A2A2AC4CD
|
||||
77777531BDDBC8DA67E51B97896006E1834A0E6B84608190BD6CB054F6820991
|
||||
9191D4D6D636BA6CC699843A3A3BF8782FD2EB0C5C04D9983DBE149F104F9372
|
||||
72845B15161609A0058B46E434D619391BECDEB8F1D93BAE0800EDEDED219B36
|
||||
6FFDE3F9CACA9B53929349E3A7E674C61BFB29C6F98A4A3A95970711C411DA4A
|
||||
03FD0334281A9EEEFA5E21773747008A00865D0200A0629400C0AA11661E8085
|
||||
B34BC1405FB53FC5C7C7D3848913D8CDC2A8A0A0902ACACF8B0029DA69E822F3
|
||||
B1880F29A9C927DE7CF3E0357C1DE745B7FFDD00282F2BCFDCF487AD2FFBD9AC
|
||||
B9B18670B2ABD82755BEA440DB8B8D191AB4513DEBF9C484586A696C26B3A9DE
|
||||
BDE2CB22C7CAE96AA0DF2A80E9636086871D9CE7DDA52F673F31EB5084727E03
|
||||
F10377822BD8386304040452744C344D9C982300013BCEB3A40630A3EB8960D3
|
||||
48B7880596E5C87B87D338905E1C0843BF35002C6C166EDFB9FB95DCE8507D46
|
||||
4315B59C2D25E39C9994A78BA3B25E0745A9B9D61FE8A5E68E6EB2D858DAF6BB
|
||||
FBFCC8E17E7E6AE1FB2E50B4A34300D5D9D5C972D84A8303FD0290418E1B76D1
|
||||
13441F5029D2A39CD982A2289A8BA38939D93CF37A2A3853C099A59C8D1F1C5D
|
||||
37947A8938BF6364696DEDDA350FDEF2AFB7BCC40CF3EC18877C2B0076EED87D
|
||||
DFE1770E6D08090FF7991D1D4EC98D55A460BAB61B22E81355281902FD28ADCB
|
||||
4475A74F5138DF6C6F5C2A1DADED6661E3A43E2B1A1F2ABE59A63DFB306656C1
|
||||
2ED0DAD62ED82013DD1F6941D4C686D99815288D95423019583F4C98908DF446
|
||||
A7617C6919477BB74B499DE4610030D245827B216DD6D7D701FC73D3A7E77EF2
|
||||
E88A15EB5887B45C36009C977DB76E79EEC9BF9EFAF4D7FE61323143319111E4
|
||||
4F6114E8E5478D5DECE3EC65330C8194DAD7448A965AEAF7F1A72F65A154452A
|
||||
7611339536549292293E292D894C6715E492F9927CA88F382F507BDFA060035C
|
||||
40EA09628F3259C96EA5D7EB84F18608CC7C11950AE3072F584116C78C000070
|
||||
BDB9CEE86756595874B5715AC66F76EFDEBDE4E7B7FFFCB5CB7281FAFAFA8867
|
||||
9E5AFFC7D696869FC6E57851514B2959070768667A1AF5D7710A5386D2B0AC85
|
||||
7A07BA48ABD65094269C111BA6762E5CCE5B06B8E0B19336A1971A0699013217
|
||||
690682C96689A0047687487339595ADB2922369A4AD421F469451D29C82D9220
|
||||
DBA0FDE1EBD913B2C860D071B42FA6D212B7F152E7D8F3010AEC11447D38A09A
|
||||
1B4C42318E144A22083FBB71C3EABBEFBEFB896F0C00FB59CE9AD56B5E6A696E
|
||||
9D3C79CA44F20DE9259B5737073BCE02B52E9EFD78D2EA07C9642FA573D566CA
|
||||
CD8EA7005B1C59DBC2C8EEECE2A8DF4676A6B28F8F8AB5A882DFDBA8ADD94172
|
||||
2F352D8E09A294CA52EA31379226399E0EC8FCA96C5046410C0CA2BF7C641D60
|
||||
021B1F1169A0C282223A77AE74D478CF45130900B5DA4FA44B93B97674995D48
|
||||
68FE6D7656E6D9EDDBB72FE2345BFD8D006061B3E0F9E75ED8C1371282A52BBD
|
||||
DE400A414939A97DBD69D825E79CEE4B6A6D2F39FD2D6493338D3B5C34D81CCA
|
||||
2ACC8F9C41662A305793BF9F17658F4BA28E8A403EDE9F025D7DA41876B7F07D
|
||||
38038429896A7AFAA8D2A1A2F15C3B984D26D11182E0C9CECEA4C8E8482A2E3C
|
||||
CB2AEFDCE88C7ACE3A06F61A4EA11048B575B51C108784B4F6E5F48999CFCCCE
|
||||
2ADEB56BC702B6A1EEEF6701E61E2375F78EED3BD673DA090E0A0A142206BE28
|
||||
176B8F6E55C7DE3A5A5DA854729E6525CF869C733E5F58C36245D74E168785A3
|
||||
3E0BA67A5FF2B2479351ADA098F66A1AE8B050045785653EA1F476593D691830
|
||||
23D7FD90BC260600B2163E1F1D13C50AAF98CE9D2D11C67B2E984A6D736C0876
|
||||
105426531DC727DB081BD4420D721D726EF79EDDF30D0643AD87955FAF030EBF
|
||||
73F8AE279F78F2153EA912911485147232F233E804FDCDF5BD0832022F178D04
|
||||
23690183C4C28582B587028FEEB1DF5BDA988E0E17FD4B948612384BF80F7692
|
||||
451940EF0FFA51A9C39B92B97002EDEBCD6691F3B398F6E3C645D3D9E2B3545C
|
||||
7C4EE801CF4553C970188A3A0303C0391C765C9AFC35FED4C62A34DD682CDEBD
|
||||
77CF02835E5F7791999706802FE2BFE49E25F92C2E9259E9D100073B342B908B
|
||||
47D7F9C5D29652F4F1509C88A00335A7F61592177F0EBB8306850FBA7BFC2CE1
|
||||
C5EFB55E0A0A241B05CB1CD431E4A06A363E44AFA7D6A666045B0A64AD808037
|
||||
2E3686835DA9A03E84130CF37C68C20DBC4B300520C078B176C0E8070469A891
|
||||
C14C4B1B5FBC67CF1EA6FDDF187F6900CC6673F2334F3DF3DAE9D3A76762D101
|
||||
4F6041B448E908C602844056631035FE7EFEC27091CF47567CC018374BDCD216
|
||||
9FE146A5A035C4C0D8F97C03C2979D94CA121A52B7818DD770D5979595211E78
|
||||
2A2B2917FA1EA5318CB7E3385682F071F783922EAE0B7442F79B98356E692DA7
|
||||
90E0208E017594323EB578FFFE7D3FE53862FE9A10270008E517ED7877F4BDA3
|
||||
F35F79F9951718841818696EA8A7162E3F316B9E6B73D22C6028990578522B40
|
||||
1320000130124BA4AA0EBF517A292F783E00E7828E8066B7D91CD4CD85136A80
|
||||
8CCC7496CEF154CED2B690F57D4FCFC80228723C5F339A75472333C5C6C76281
|
||||
C4C60CC3DA0018E670DAF9FA01D4C2339F929A5ABC77DFDE057AC32567FE0200
|
||||
42D8988ECD9B36AF7C7DCFEB2B38C8F881CE30A2ACA24C94B252F92AEA770E84
|
||||
2E69B98A68341A4B01092CC1CC8319084AA2CE1F618978308AE308CA598929D8
|
||||
E0DBDE1CA9D38C6994989C40D55535ACEF0B447F4F620DF6B11C0FE2E262E9AF
|
||||
27F3C5B92197516B60383893201EB5B5B6A01D56B86FEFDE053ABDCE4CFFF710
|
||||
000472D455DF38EFC61A36DA5B4A2BB8281E5B931E6985C1A8D7BD1442A288FF
|
||||
36F07CD6CF73FD6E1414BE29C402188994A809D05050A09B256083B43638CC81
|
||||
338BA37D567616D5D6D4B2F185D4D5D9258E7757770E5150C1354EB2F11C4D38
|
||||
CBF45103670B5C1FEEA1F2F6A2D666186F2CDEC7B4E7C2E7EF19FF15004D8D4D
|
||||
7E93A74C36A9942A055A5500008B95164E539E03F4C54CCAE55FFD73892700E8
|
||||
B831E9DD8D3799FB33113F1C5F0102AA4A9D20B88D8175055812C1F5FFF8B4F1
|
||||
4CFB62F1D8AB98F991670273A74F65E002282FAF805D49258AA566369E46DC11
|
||||
F7D5DCDC40E9191985FB98F6DFD0F8AF62006F96FDFBF62F3B74E8D06206C388
|
||||
BEBAB5CFDACDC28703BACCC5741DC69E33421447DA28AE09E4122030447AFA53
|
||||
00F215349E6F4687E7834F985D1C9B9591254050B3AB208D4A353DCE99956964
|
||||
25184A79F9057C3D959879F405C14B9C03B46F68AC479EBF5CE34701F0CC020A
|
||||
46DFC0AED0EDA5F21A90140E8CC7CD707CF0E7AC909E979797CBDB848282829C
|
||||
CACACAF8EEEE6E2F111047A2BF686B21E77DCDC35A12583012C24617AE130F47
|
||||
DAD978C402E969B07096C053A7E6B0CF9F1631096D310BA7652980C27873BD99
|
||||
5D23F3CCEB7BF72CE2F35C8EF19704E0B206CF946F4545451A8331F5C48913D3
|
||||
0A0B0BB31890644B47870F8D640CE93980AF7B744D2C80706035A61947AA3E15
|
||||
477BA74871D0135A2DC78C202D07B756D13BC09C2023C078AC29188D6945070E
|
||||
EC9F7F9933FFFD0070F1604AAA6A6B6B13199029A74E9D9ACA0CC92E292931B6
|
||||
B5B569A4B4E9F960C4C83182092949C9A28891C914A3A9169D5EF4FF9B39ADE1
|
||||
0932B796B08B42A796E56E464646D108EDBFE983915716808B079F5BC1054D4C
|
||||
7E7EFE140663228332A9A8A86802FBB0167E8E219E08E3E0181511457A76058E
|
||||
910C8052C8D8C4C44432D5D6B146E816B1C1E1B0899947A648CB3016EDDFBF7F
|
||||
A15EAFABFB0EB778F597C7990D11881DC5C5C559701B569C13ABABAB0D620D30
|
||||
354D640C9D3E42B4C9F937ACE8AA455CD185E9C4E269554D3565A4A71771AA83
|
||||
BCFDB633FFC30170F1E8E9E90979FFFDF7E73FBE6EDDCAD696B664A4454E6742
|
||||
CA82F6434303E277288EA04B8CC674F8FCC2AFD1F6FFFF0090467B5B9B61DD63
|
||||
8F6F3A70E0C06D580683DEE8EFEF631DE172477B96BB995999856EDA7FE7991F
|
||||
7B00607040F479F2F12736EEDF7FE04E9E7D753B17488E61BBE8065F7FFDF527
|
||||
77EDDAF96FDF21E08D7D00A4C1622B85E3C414CE28B17C7F4E0E861573E7CE3D
|
||||
CA19C4FA3D5F6A6C02701547D83FFE79FAC7FEEFF3FF0B43E930A009E1CAF900
|
||||
00000049454E44AE426082}
|
||||
0954506E67496D61676589504E470D0A1A0A0000000D49484452000000400000
|
||||
00400806000000AA6971DE0000001974455874536F6674776172650041646F62
|
||||
6520496D616765526561647971C9653C000016424944415478DAED5B09745465
|
||||
96BEB5A4925452492A5B5565237B422A1B842D203620A233CD32EA8C23DD6D6B
|
||||
AB38CCA0D29E565BB6695A5C41A0C1BD955D96398D0B22626B1F1515B121812C
|
||||
908DAC55D993CA5AD9AA2A5573BFBFF26241E3B4A860E6D87FCE3BAFB6B7DCEF
|
||||
FFEEBDDFBDFF8BCCE572251251276F72FA710D276F5A1903A01D01E0C7380400
|
||||
61FCA2ED87BE931F6884FD03801F000095D56AD5DBEDF6009BCDE6373C3CECCD
|
||||
AFB179F1A6181C1854A9FDD4D69494943F0F0E0E6A9B9B9B93F9774AFE4EEE74
|
||||
3A8937194E2297CB9D0A85C2A1542A6D5E5E5E761F1F9FDEB0B0B07A7EEF18B3
|
||||
00B4B6B61ADFF8D3C16D1D1D1DE90EC7B0920D53381C0EF9D0D0909C8DA5FEFE
|
||||
7EEAEAEAC2DE71DFFDF7AD292D29FDF7828282F49E9E1E396FD4D7DF47B6211B
|
||||
F131C4C091D3E574D96D76676868A833332B7378CE7573FE7CFBEDB7DFC6C0D8
|
||||
C61C00ED6DED098FFDFEB1BF984CA6581F6F1F72F11F06661506F17D505F5F1F
|
||||
353535512783306DEA54F1596F6F2F3163686060801828F15B6683D8982D1417
|
||||
1F4773E7CEA5F0F070EAE7DFDC7DCF5D130D06C399310500A8FEE8238F7E78FC
|
||||
F8F15C3F3F3F61984C26137B00803DCF1A7577775375753585EB741415192900
|
||||
81D1D860B09875B71BE09C949E9E4E1919198239CC2A8A8D8BA5DB7EB6F8E149
|
||||
3939CF8E2900DE39F4CEFD2B57ACDC0AE361288CF71CECCFE2B39A9A1A31E3E3
|
||||
C68D1B3512332EB1447A8DCF636262C4CC9796968A0DAF333233282030E0FC2D
|
||||
B7DC325BA3D1348C0900F88695BF7E60F9F1FCFCD353008064ACB461001450BF
|
||||
ACBC8CB45A2D2527258B59C78C63F3A43DDE0380D4D454CA9934897C7C7D68FB
|
||||
6BDBE8D65B6FA5B884381CE75ABC787136BB44D19800A0B7B747F75F4B979570
|
||||
700BF6F5F51500C0600C4F269CCA3B4595559594919E41498949170020190F20
|
||||
603C3ECBC9C911B1019F7FF4F14774F34D37D3D4695369F69CD90F2425253DCF
|
||||
A7748D09001A1A1A8CCBEF5F9ECF37EFCD83384D11A7AD5157C01E061D3B768C
|
||||
6A4C35343967F2280012ED3D37F83B8E9F316306718AA4BADA3AAA33D751CEC4
|
||||
1C321AD368C97FDC3B272222E2E36F787B571E80A2A2A2EB1F79E8910F70D300
|
||||
007B80800D6C50A954C2D88F3FF998EA1BEA39FA4FA3F8B878425AF47401C90D
|
||||
F0398E4B4B4B63838D545656466016B24A5FAF951EFCCD83F35252533F1C3300
|
||||
7CFED967B7AE5CB1EA7FD46AB530569A7D0908EC01C0B14F8F51635323CD983E
|
||||
8362A262687068F082E007E3A50088E358F40800CE9E3DCB2039E991471FA1A6
|
||||
C6C6F6DCE9D37374BA70D39801E0C30F3EB86BD5CAD5DBFCFDFD85B19E0C905E
|
||||
C3A8CF8F7F4EED1DED3463DA74D285EB69C83674010092F801587ABD9E58FC50
|
||||
5D5D1D353636D21D77FC92162C5A4401019A0FF9BB791767991F1480B7DE7CF3
|
||||
A1B5BFFBFD06002031C0D305F01EB37DF2E449B19F3471120506068E467C4FE3
|
||||
A52D2424443080330BC7042B6D7D6EAB0051A7D79FCBCDCDCDE1CB0E8D190076
|
||||
EDDCB5EEA9279F5ACD79799401921B481B025BF9F9722183A74E9E2A7C5A8AFA
|
||||
608104060413400300ACFD292F2F8FDADA5A69DE0D375050509073F9F2E54BB3
|
||||
B2B35EBD8CDBBBF200BCF4E24BEBD73FB3FE61CCAAA7EF63F304A0BAA69A7AAD
|
||||
BD8201F8CE53F8783200BFC7ECB3C1545E5E4E26CE0009F189347FE1828655AB
|
||||
56A630407D630A802D7FD8B265C3FA0D0F80019E867B02009D5FC10C4030CBCE
|
||||
CA16E9F162C325198CEF38CD0937816A940223CF7CE1A6CD9B263300F63105C0
|
||||
E64D9BB63EFDD433F70300180B0A7BC6007C86D456535BC3CA88282D354D50DD
|
||||
53F74B00482E00A98C8DD1A0B0F030FAE2F8173471C28477376CDCB0E0326FEF
|
||||
CA03F0C273CF3FFD5B1EC1C121C26849FC486048002005028044A6B35424499B
|
||||
E77B9C030C08E1F379FB780B006A590CCDBDEEBA5797DDBFECDE3107C0892F4E
|
||||
DCB86CD9B29D0DF50D3A501D0623C849AA102080C22DAD2DE2754C748C384E18
|
||||
EE74A1E6170048ACC0315CEE8A18A0F6558B7489E397FEE7D2DF2E5CB470FD98
|
||||
030083357B585161E1A453274F5DC39A7F527151714E7D7D43080CF6E5683ECC
|
||||
C6593A2DACDE5D141A1C3ACA1430028A1EC64BA0E03BE800082B1457A80A2B2B
|
||||
2B69D57FAFBAF99A19D7BC352601B8787475751A8A8A8AB3563EBA6273FEE9FC
|
||||
541F6604040E0CD40669C58CE2B55C8178E1454EC7B0384E124F3A9D8E828383
|
||||
C566369B893546CBC1370F66325B1CBD3DBDDECCB06EFEAE7FCC0280515559F5
|
||||
935FDDF9AB3D2525E7A255EC0E3DBD3D62D693129284F19DDD9D28A4C4ECC7C6
|
||||
8C6323355C32378A78A1D5060F474545F5474545D6C4C5C79F0C0D0DB35A7B7B
|
||||
354DCD4DC96C7C09EB864206AB2C3323B3F417BFFC4533DC6D4C01F0C1FB1F3C
|
||||
5C5C5CFCC4C1837FF2AAA8382F440D00C08CC7C5C489C2A6974BDDE6966652F1
|
||||
8CCF9E3D9B6EBCE146AAAEAEA2F3E72BE102676EBAE9A617144A45F7F1CF8FFF
|
||||
339AA9D7CEBAF6DD59B3661D429394D9A432D599346FBFF5B67F557555F7DAB5
|
||||
6BBBF506FDA5CAE3AB0B80B5D71AF0EEE1773773D172170C7EE38D3778961B85
|
||||
44C67BCC5474543433C045DD3D5D34C0B31DCC2E71EDAC9F882AB1ABB3536806
|
||||
8E2936DE0F984C260D8B28D9BC79F3F6C425C415707D50C7E9B19CB3441DBB8A
|
||||
15D73C72E4880F03E1DCB869A33D2020E06210AE1E001CF4528F1C3EBCDD6EB7
|
||||
E56A3401A299B165EB16B2B47790973703D0D3C381CD9722F411C20598D38889
|
||||
E2F5D2A54B29392599BABABBA8AFAF9FAC3DBDD4C9604008E1B8969616B14796
|
||||
60306D5AADB6695A6EEEB165F72D5B131E1E66DAB963A7A2BAAA4AF6D8E3EB2E
|
||||
6E995F1D00CE9C39F34F1FFDE5A3577D7D7D220F1D3A44164B07F50FF4898686
|
||||
52E1C5D457A073441AF673C85C180D790C46801D6969E3897D9E1C6CA028A038
|
||||
304225221E801152E75800D2DD4336BB8302028368E1A2F9C50F3FFC9B397C8E
|
||||
F67B97DCAB5C72EF12E79429539C571580A3EF1D7D282F2FFFF1E8C848EFBDFB
|
||||
F6B21FD7607D80121212841126B349A442748071D3C15AED280032B94C748A7B
|
||||
7ABA19086F217E50554203C4C6C68A521800201B203B747676513F33242C3C9C
|
||||
8CE9E9AC39E434F7FAEB56DC70C3BCA7BF3CF1A59C63856CE6B53387AF0A006C
|
||||
80EF81FD07B6D6D6D4DE83EECDE1C3EF504949A9C8DFA02CD45C9BA55D1867B7
|
||||
D90500A121A104C90C60F01EB466FD2798A00DD48A2A108C409A8C8E8E1620E1
|
||||
77A816C10CBB7D98821840B4CBA572392252FFD9E6CD1B67738681E123CAE20A
|
||||
03D0D4D814BD7DDBF6DD7CA3B392921239729FA78307DF10378616166E4E5A1F
|
||||
C00643C18AB0D030A1FC60100C03A5E53239F9F9FB89DC8F5906782884525252
|
||||
04EDE146D87B31438238601AD38D02C892921271DD88088365E7AEED690C7CEB
|
||||
256EF5FB07A0A8B068D26BAFBEF63AA7A394969656BEF170D6EAB5C24850B5A8
|
||||
A848F8B3541461762D160B718416F4961641F07BA9318AEFB081F2301840800D
|
||||
7ECCA66176171F1F35A919502C92A05384365955559588117E6A5FE7CBAFBC38
|
||||
333129E98B2B0EC091778FDC79F8D0E18D757575C1C8E9A02BA42AFC147255EA
|
||||
00C3F8D14ACF394C1D1C140D1106CEF9AAD122C94D6937103016511F1523C002
|
||||
2BB014C63A803541041B1D46E9C6740A0D0B15006375498087E33986ACF9DDEA
|
||||
658B7FB6F8C52B0600FBB072DBF66DBFFBFCD867ABD38C4621642A2A2AC4CD77
|
||||
777531BDDBC8DA67E51B97896006E1834A0E6B84608190BD6CB054F682099191
|
||||
91D4D6D636BA6CC699843A3A3BF8782FD2EB0C5C04D9983DBE149F104F937272
|
||||
845B15161609A0058B46E434D619391BECDEB8F1D93BAE0800EDEDED219B366F
|
||||
FDE3F9CACA9B53929349E3A7E674C61BFB29C6F98A4A3A95970711C411DA4A03
|
||||
FD0334281A9EEEFA5E21773747008A00865D0200A0629400C0AA11661E8085B3
|
||||
4BC1405FB53FC5C7C7D3848913D8CDC2A8A0A0902ACACF8B0029DA69E822F3B1
|
||||
880F29A9C927DE7CF3E0357C1DE745B7FFDD00282F2BCFDCF487AD2FFBD9ACB9
|
||||
B18670B2ABD82755BEA440DB8B8D191AB4513DEBF9C484586A696C26B3A9DEBD
|
||||
E2CB22C7CAE96AA0DF2A80E9636086871D9CE7DDA52F673F31EB5084727E03F1
|
||||
0377822BD8386304040452744C344D9C982300013BCEB3A40630A3EB8960D348
|
||||
B7880596E5C87B87D338905E1C0843BF35002C6C166EDFB9FB95DCE8507D4643
|
||||
15B59C2D25E39C9994A78BA3B25E0745A9B9D61FE8A5E68E6EB2D858DAF6BBFB
|
||||
FCC8E17E7E6AE1FB2E50B4A34300D5D9D5C972D84A8303FD0290418E1B76D113
|
||||
441F5029D2A39CD982A2289A8BA38939D93CF37A2A3853C099A59C8D1F1C5D37
|
||||
947A8938BF6364696DEDDA350FDEF2AFB7BCC40CF3EC18877C2B0076EED87DDF
|
||||
E1770E6D08090FF7991D1D4EC98D55A460BAB61B22E81355281902FD28ADCB44
|
||||
75A74F5138DF6C6F5C2A1DADED6661E3A43E2B1A1F2ABE59A63DFB306656C12E
|
||||
D0DAD62ED82013DD1F6941D4C686D99815288D95423019583F4C98908DF446A7
|
||||
617C6919477BB74B499DE4610030D245827B216DD6D7D701FC73D3A7E77EF2E8
|
||||
8A15EB5887B45C36009C977DB76E79EEC9BF9EFAF4D7FE61323143319111E44F
|
||||
6114E8E5478D5DECE3EC65330C8194DAD7448A965AEAF7F1A72F65A154452A76
|
||||
11339536549292293E292D894C6715E492F9927CA88F382F507BDFA060035C40
|
||||
EA09628F3259C96EA5D7EB84F18608CC7C11950AE3072F584116C78C000070BD
|
||||
B9CEE86756595874B5715AC66F76EFDEBDE4E7B7FFFCB5CB7281FAFAFA88679E
|
||||
5AFFC7D696869FC6E57851514B2959070768667A1AF5D7710A5386D2B0AC857A
|
||||
07BA48ABD65094269C111BA6762E5CCE5B06B8E0B19336A1971A069901321769
|
||||
0682C96689A0047687487339595ADB2922369A4AD421F469451D29C82D9220DB
|
||||
A0FDE1EBD913B2C860D071B42FA6D212B7F152E7D8F3010AEC11447D38A09A1B
|
||||
4C42318E144A22083FBB71C3EABBEFBEFB896F0C00FB59CE9AD56B5E6A696E9D
|
||||
3C79CA44F20DE9259B5737073BCE02B52E9EFD78D2EA07C9642FA573D566CACD
|
||||
8EA7005B1C59DBC2C8EEECE2A8DF4676A6B28F8F8AB5A882DFDBA8ADD941722F
|
||||
352D8E09A294CA52EA31379226399E0EC8FCA96C5046410C0CA2BF7C641D6002
|
||||
1B1F1169A0C282223A77AE74D478CF45130900B5DA4FA44B93B97674995D4868
|
||||
FE6D7656E6D9EDDBB72FE2345BFD8D006061B3E0F9E75ED8C1371282A52BBDDE
|
||||
400A414939A97DBD69D825E79CEE4B6A6D2F39FD2D6493338D3B5C34D81CCA2A
|
||||
CC8F9C41662A305793BF9F17658F4BA28E8A403EDE9F025D7DA41876B7F07D38
|
||||
038429896A7AFAA8D2A1A2F15C3B984D26D11182E0C9CECEA4C8E8482A2E3CCB
|
||||
2AEFDCE88C7ACE3A06F61A4EA11048B575B51C108784B4F6E5F48999CFCCCE2A
|
||||
DEB56BC702B6A1EEEF6701E61E2375F78EED3BD673DA090E0A0A142206BE2817
|
||||
6B8F6E55C7DE3A5A5DA854729E6525CF869C733E5F58C36245D74E168785A33E
|
||||
0BA67A5FF2B2479351ADA098F66A1AE8B050045785653EA1F476593D69183023
|
||||
D7FD90BC260600B2163E1F1D13C50AAF98CE9D2D11C67B2E984A6D736C087610
|
||||
5426531DC727DB081BD4420D721D726EF79EDDF30D0643AD87955FAF030EBF73
|
||||
F8AE279F78F2153EA912911485147232F233E804FDCDF5BD0832022F178D0423
|
||||
690183C4C28582B587028FEEB1DF5BDA988E0E17FD4B948612384BF80F769245
|
||||
1940EF0FFA51A9C39B92B97002EDEBCD6691F3B398F6E3C645D3D9E2B3545C7C
|
||||
4EE801CF4553C970188A3A0303C0391C765C9AFC35FED4C62A34DD682CDEBD77
|
||||
CF02835E5F7791999706802FE2BFE49E25F92C2E9259E9D100073B342B908B47
|
||||
D7F9C5D29652F4F1509C88A00335A7F61592177F0EBB8306850FBA7BFC2CE1C5
|
||||
EFB55E0A0A241B05CB1CD431E4A06A363E44AFA7D6A666045B0A64AD8080372E
|
||||
3686835DA9A03E84130CF37C68C20DBC4B300520C078B176C0E8070469A891C1
|
||||
4C4B1B5FBC67CF1EA6FDDF187F6900CC6673F2334F3DF3DAE9D3A76762D1014F
|
||||
6041B448E908C602844056631035FE7EFEC27091CF47567CC018374BDCD2169F
|
||||
E146A5A035C4C0D8F97C03C2979D94CA121A52B7818DD770D5979595211E782A
|
||||
2B2917FA1EA5318CB7E3385682F071F783922EAE0B7442F79B98356E692DA790
|
||||
E0208E017594323EB578FFFE7D3FE53862FE9A10270008E517ED7877F4BDA3F3
|
||||
5F79F9951718841818696EA8A7162E3F316B9E6B73D22C6028990578522B4013
|
||||
20000130124BA4AA0EBF517A292F783E00E7828E8066B7D91CD4CD85136A808C
|
||||
CC7496CEF154CED2B690F57D4FCFC80228723C5F339A75472333C5C6C76281C4
|
||||
C60CC3DA0018E670DAF9FA01D4C2339F929A5ABC77DFDE057AC32567FE020042
|
||||
D8988ECD9B36AF7C7DCFEB2B38C8F881CE30A2ACA24C94B252F92AEA770E842E
|
||||
69B98A68341A4B01092CC1CC8319084AA2CE1F618978308AE308CA598929D8E0
|
||||
DBDE1CA9D38C6994989C40D55535ACEF0B447F4F620DF6B11C0FE2E262E9AF27
|
||||
F3C5B92197516B60383893201EB5B5B6A01D56B86FEFDE053ABDCE4CFFF71000
|
||||
0472D455DF38EFC61A36DA5B4A2BB8281E5B931E6985C1A8D7BD1442A288FF36
|
||||
F07CD6CF73FD6E1414BE29C402188994A809D05050A09B256083B43638CC8133
|
||||
8BA37D567616D5D6D4B2F185D4D5D9258E7757770E5150C1354EB2F11C4D38CB
|
||||
F45103670B5C1FEEA1F2F6A2D666186F2CDEC7B4E7C2E7EF19FF15004D8D4D7E
|
||||
93A74C36A9942A055A5500008B95164E539E03F4C54CCAE55FFD73892700E8B8
|
||||
31E9DD8D3799FB33113F1C5F0102AA4A9D20B88D8175055812C1F5FFF8B4F14C
|
||||
FB62F1D8AB98F991670273A74F65E002282FAF805D49258AA566369E46DC11F7
|
||||
D5DCDC40E9191985FB98F6DFD0F8AF62006F96FDFBF62F3B74E8D06206C388BE
|
||||
BAB5CFDACDC28703BACCC5741DC69E33421447DA28AE09E4122030447AFA5300
|
||||
F215349E6F4687E7834F985D1C9B9591254050B3AB208D4A353DCE9995696425
|
||||
184A79F9057C3D959879F405C14B9C03B46F68AC479EBF5CE34701F0CC020A46
|
||||
DFC0AED0EDA5F21A90140E8CC7CD707CF0E7AC909E979797CBDB848282829CCA
|
||||
CACAF8EEEE6E2F111047A2BF686B21E77DCDC35A12583012C24617AE130F47DA
|
||||
D978C402E969B07096C053A7E6B0CF9F1631096D310BA7652980C27873BD995D
|
||||
23F3CCEB7BF72CE2F35C8EF19704E0B206CF946F4545451A8331F5C48913D30A
|
||||
0B0BB31890644B47870F8D640CE93980AF7B744D2C80706035A61947AA3E1547
|
||||
7BA74871D0135A2DC78C202D07B756D13BC09C2023C078AC29188D6945070EEC
|
||||
9F7F9933FFFD0070F1604AAA6A6B6B13199029A74E9D9ACA0CC92E292931B6B5
|
||||
B569A4B4E9F960C4C83182092949C9A28891C914A3A9169D5EF4FF9B39ADE109
|
||||
32B796B08B42A796E56E464646D108EDBFE983915716808B079F5BC1054D4C7E
|
||||
7EFE140663228332A9A8A86802FBB0167E8E219E08E3E0181511457A76058E91
|
||||
0C8052C8D8C4C44432D5D6B146E816B1C1E1B0899947A648CB3016EDDFBF7FA1
|
||||
5EAFABFB0EB778F597C7990D11881DC5C5C559701B569C13ABABAB0D620D3035
|
||||
4D640C9D3E42B4C9F937ACE8AA455CD185E9C4E269554D3565A4A71771AA83BC
|
||||
FDB633FFC30170F1E8E9E90979FFFDF7E73FBE6EDDCAD696B664A4454E6742CA
|
||||
82F6434303E277288EA04B8CC674F8FCC2AFD1F6FFFF0090467B5B9B61DD638F
|
||||
6F3A70E0C06D580683DEE8EFEF631DE172477B96BB995999856EDA7FE7991F7B
|
||||
00607040F479F2F12736EEDF7FE04E9E7D753B17488E61BBE8065F7FFDF52777
|
||||
EDDAF96FDF21E08D7D00A4C1622B85E3C414CE28B17C7F4E0E861573E7CE3DCA
|
||||
19C4FA3D5F6A6C02701547D83FFE79FAC7FEEFF3FF0B43E930A009E1CAF90000
|
||||
000049454E44AE426082}
|
||||
Visible = False
|
||||
end
|
||||
object imgStateNotFound: TImage
|
||||
@ -488,143 +480,143 @@ object MainForm: TMainForm
|
||||
Height = 64
|
||||
AutoSize = True
|
||||
Picture.Data = {
|
||||
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000004000
|
||||
0000400806000000AA6971DE0000001974455874536F6674776172650041646F
|
||||
626520496D616765526561647971C9653C000010B74944415478DAED9B096C57
|
||||
5516C65F77282D5BA150CA2A4B45A050948285418442214E6140C74463C718B4
|
||||
63C448C6688C6B8C44258A88041D9851B4A22D33A962D906991123B22450108A
|
||||
0AB21611690B48D94A59DAFF7CBF1B4EE759CB48070AFF89DEE4E5F5FFD6FB7D
|
||||
E79CEF9C7BEF6B48201068E9795EA5F7CB6C8D424440A35F3A01D1FAA3E26AF7
|
||||
E42AB5E85F09B80A04849D387122E6ECD9B35167CE9C89ACAAAA0AD3DFE1DA42
|
||||
D94E9D3A15D6A44993334949493B2B2B2B1B979494C4E93ACE855457577B6CB4
|
||||
D0D0D040585858757878785544444475A3468D4EB76EDDFA987E57072D016565
|
||||
65F1F9F9F9637FF8E187F873E7CE85024CFB90D3A74F8708AC575151E1959797
|
||||
B3AF7EF0C107576CDDBAB5F7A64D9BE28F1D3B16A2CD3B79F2A4A77B3CDDE389
|
||||
38C808889840AB56AD02C9C9C981112346ECCCCACACA1731554147C0C183075B
|
||||
3EF7DC737FF8F6DB6F9B474545D51CC7A200523F1CC003070E3812060E1CE88E
|
||||
1D3F7EDC93C778F20C4F44B96B05DA6D1CBBE69A6BBCF4F4742F3E3EDEFD9E38
|
||||
71E29C84848403414500AEFED8638F65AD5EBDBA83DCDB010B0909717B08602F
|
||||
AB79478F1EF576EFDEEDB569D3C64B4C4C7484009A0DC0E7ADEE363CA177EFDE
|
||||
5E9F3E7D9CE7C8ABBCCE9D3B7B77DC71C7F21B6EB8614D501150505030F08927
|
||||
9E1803788002DEDF14CFEED89E3D7B9CC53B75EA5403128B9B97D8DF1CEFD8B1
|
||||
A3B3BCC2C46DFC0D19CD9A353B7CEBADB7E6C4C6C61E0B0A02D4E1D0C993274F
|
||||
DCB0614322041858DB689082EB6FDBB6CD6BD1A285D7A3470F67752CCEE6777B
|
||||
7E43C0B5D75EEBC9D29EC4CF7BEBADB7BCDB6FBFDD8583EE0BC80B662B244A83
|
||||
82008957CC030F3C304971DD58CD1100609ADF13D6AF5FEFEDDAB5CBB975F7EE
|
||||
DD7F4480818708C073ECFAEBAF77DAC0F1152B567813264C70BA317CF8F07FE8
|
||||
FE757A64202808D8BF7F7FFC430F3D94ADCE87237E4A539ED2564D28B007D067
|
||||
9F7DE61517173BAB1A01E6F6FE8D78E7FEC183077B4A91EE1E09AB23A457AF5E
|
||||
5E7676764EBB76EDF65C64F71A9E80A2A2A2AE8F3EFA68169D8600F690C08637
|
||||
4446463AB09F7EFA2964392BE2CAA4457F085818709CFBAEBBEE3A0798B0C1B3
|
||||
10523CE2E1871F9EA7F0D81534047CFEF9E7BD2480BF8F8E8E7660CDFA46047B
|
||||
08C003D081B4B434AF43870EEE985FFC006F02C87D2A7A1C015F7EF9A5234959
|
||||
C6FBFEFBEF2B74FF1C6591A34143C0F2E5CB539E7CF2C9713131310EACDF03EC
|
||||
6F40AD5AB5CA3B7CF8B023809CCE313F0156FC404CDBB66D3D153FDEDEBD7B01
|
||||
EDDD7DF7DDDED8B163BDA64D9BEED2B979B5B3CC5525E0C30F3F4C7BF6D96747
|
||||
418079803F04F88D5BAF5BB7CE81239695CA6A14DF0FDEB6B8B838E701CA2C4E
|
||||
1366CE9CE90813F8B21B6FBCF12F7AEDB9A021E09D77DE19FEE28B2F0E555EAE
|
||||
F1000B03DB00B17DFB765701A6A6A6BA9836D5C70B8C0CE21CD22080F4575858
|
||||
4885E98D1A35CA6BDEBC7940E97671BF7EFD36D4A37B0D4FC01B6FBC31F2A597
|
||||
5E1A8C55FDB1CFE627800A1011C30338E72F7CFC1EC0F5585F80BD6FBEF9C665
|
||||
80AE5DBB7A999999C7146AB344D099A02260C68C19635E7EF9E58178801FB89F
|
||||
006A783C0080B2A04B8FB5815B19CC39A5391726548D268C7DFBF62D79F5D557
|
||||
FF2A022E7620746508983E7DFA98A953A73A02008B0BFB35806368006530E07A
|
||||
F6ECE95CDD5FF71B01160294CA6C5C8F37AC59B3C64B4949D93E6DDAB4DC7A76
|
||||
AFE10998356B56BA52D490962D5B3AD056FC181946006ACE39DCD90649B6F97F
|
||||
F30C3C80E7A103104036D050788386D08B828E0059A7DBA449937EA722270657
|
||||
07302267552124E0C2A5A5A5EE6F0639343F78DBF002EED170D76900CFE15EB6
|
||||
FBEFBFFF9FE3C68D5B1D7404D0246E4D366FDEDC4EF57E476DEDB66CD992F0DD
|
||||
77DF4503182B028E1A8086C29BA758E3BC91C239EA000A2B065710B673E74EEF
|
||||
A9A79EFADB902143B6062501B5DB9123476245429BC71F7F7CB472792B2C6995
|
||||
1F96B522C8C412CBD3AC7862BE801060DBB76F9FA71AE3C4071F7CF067DD532D
|
||||
610CD7F32A75EE6CD0124093D53ADF73CF3DE3BFFEFAEB661448283A56EFD6AD
|
||||
9B034F4DC0D800EB2378145294CAE88586CCD5EDDBB73FABADBC4B972EFBA503
|
||||
67747FA4CEC709FC41D50DA522EB507272F2C1ACACAC13FE19A8A020E0E38F3F
|
||||
1E2C0F189E9F9F1F46FA230C98F3C3E280A5511330DAC3E237DF7CB3377AF468
|
||||
572BECD8B1831038307EFCF8F5BABE72F5EAD5DD994CBDE9A69BB60F1B366C1B
|
||||
93A4F2A6300963D4471F7D14A92176A52AD1D3D28DBA86C757960059296AF1E2
|
||||
C5A3A5F829585C6EEBAC8C0740009662208407303D76DEDA9EC07983060D2274
|
||||
5CCD2072AAB43FAB22288A224A9560914690251A1F948BC0C3CA12E522CE1544
|
||||
4B962C095FB0604140E9B85A6385DA245C3902247AAD047E9CACD5819A000BBF
|
||||
F6DA6B4EFC8C00840D858700CE5BFA93C2BB592248619E10F220833DF79141D8
|
||||
A3157A5695483BAE31C15E659F151A581D7DFBEDB743F19E2953A6D49E32BF32
|
||||
047CF1C517DD3FF9E4934CC567D3828202071ACBE1E25611020062C8EB80E63C
|
||||
1E01398CFD15EFAE32B401147FE3217884CD1CB38724CE51296A8458FAC8238F
|
||||
E4E81915F7DD775F6876767640630DBF17343C014B972E4D93D20F4F4C4C0CCF
|
||||
CDCD75715C5656E60A1E3A4A2D4F16C0B2741A973702104500410E4490221143
|
||||
320533C0144F1040368014BC82FB184E33B50659E9E9E9FFCAC8C858B576EDDA
|
||||
101657860E1DEAF7828623401D89C8CBCB1B535C5CDC1F0B2E5AB4C893E23B37
|
||||
C765A9E60E1D3AE4C091F62080313E5E0031FCE61C618027001A022082EBD10A
|
||||
C0721DA345C0721F0402DE86CB7ACF5EC57F8EC80438C545C37B802CD36CEEDC
|
||||
B9E3D5D1CECCEFA1DC527CD731A6B0E89CAD0FB00114AF80007E03C8621D2FC0
|
||||
EAE47EAC0C79784A5252524DA6600F3180679688E74036EF95A6546848FEBA88
|
||||
3F5947572F3F01547C6FBEF9E604C5762B3A4BC799B80424AE5A5454E4E2D906
|
||||
4558174D90423BA0B608C2F53631CA39365CDE5223DE8037112E841084B22E00
|
||||
78A6C998614623742E307BF6ECB932C4BE0627402ADF6FE1C28519CAC18D1136
|
||||
AC42A94A9C52AEDA0C30E0FD233D5675507FAEB741129B110158E29B11236471
|
||||
8E38E75AEEB3F941F6108CCE189168C8D34F3FBDE4CE3BEF5CDF6004B0C82997
|
||||
1FB672E5CAA1740437A6C0A1F37400F7C64D6D1698C207CBB3C70B20827336EC
|
||||
C513581A63B6C796CD94491C51DCCF58001DE07E6690994431F0100D782BA7A9
|
||||
2833333337BFF2CA2B0B1A84000959F48C193332156F3D894B5C1100B82C8D38
|
||||
64EA8A7826AE112E5BDC30709000182386FB716B23801218CB738E900220EF01
|
||||
7C4A4A8AF306859E239D67DB428A4D95AB5FFB5474CDD57B2E6F2124416BA362
|
||||
E6B77A46072CE69FF0A0B374944A8F8E12BB0C5C6CC5D714DC88F14F7AD89C81
|
||||
7906E72D0D021011240B6079C0E31D106D96F72D9FBBDF22B34215E1EB22EFE4
|
||||
652340854D524E4E4EA62AB41844C9567588775CDE4675580E006C36DA33F162
|
||||
C3ADE938318EB58C189E63738290417A840CF6E84AFFFEFD9D376CDAB4C96516
|
||||
5B4AF32FA89AC6E00DCF3CF3CCB2DB6EBBAD50863977C90428ADA44AEC4629EE
|
||||
C2496D58CC263B008FDA633152119E41A751661A40F1101A2ECF75FCC6DDFDE5
|
||||
AFAD035A2C5B98503F306FC81ECB031EB5B7D9639B4CB5E7701F1E43C125F2CB
|
||||
D2D2D28A350C5FA9FB4FD49B00B96BC4CC993347AC59B3661031C88B0048CC02
|
||||
92C206C6C9FD8400220839581931C4BA780AC7D00BAEB785118E59EAE36F7361
|
||||
F6FCB67900621EE537CBDB129A7FF5C808805C368CC3BB300ED7BCFBEEBB0BEF
|
||||
BAEBAE8DF522408399D8A953A7662AB7F7807D80F072549F0E40080089692B5C
|
||||
E80416A71E0004D7A0CA3400E1D25C07017490FA002F40CD69361304495C87E5
|
||||
C9009CE79B00DE6FF1EEFF8082BD4DBBA13BF4EBFC40C991316DDAB41513274E
|
||||
5C79D104C8D5DA2997DE22208903060CA8C9D1EC01640B1500658292995D3C02
|
||||
00741252B02C1DB23940EEA3433C8FEB2000902839BA611320B60E606E8FDA13
|
||||
5A06DEBF686204D83A247D316DE037D7F6EDDBB74C293B4F9E7BE4A20850AC27
|
||||
CD9A356B9C3A12CD4B713FAC89556C5516F0FE3C0EE374048BD3013A62391B0B
|
||||
4304C0CCC2DC4BA771514285B103314B0641E5D569176A5BB66CF1BEFAEAAB1A
|
||||
8BFAAD4E630F713CDBC0738C7763793DA754FA95270CE53F2B82744E4CF5D758
|
||||
7AA4727A63D4DBD6F6ECEB0E63DE1AA4700DE778B9A54513373A0129589A8E11
|
||||
F3CC000188B5413ACF971F94BC1040598BE549797EF0FE0553FFCC3162C7FB00
|
||||
6F7A00B1902AB12E9B376F5EAE0FFC7F2740964F79E1851732F5D050536D9BC7
|
||||
0724D6B7C2C508AB9DCBFD9FC1D06CD2028B5A594C27E9305A8178E2F6C42D61
|
||||
0578521EE0C92280F72F9A1A709E41E6A1411CD7D8208AEC229D2A15F8BC5AE0
|
||||
2F4C801E1079EFBDF7FE51C5451CB189E58869368B2FFFD2165E6184B037E074
|
||||
C4DCD096B5B89E67D80713E47C2C8457502C496C5DAD60E0113B08E03AFF5219
|
||||
7F1BF1780ACF07BC8D35A8442153E1E4C04B3C6B83AF9B00B11F27B51FBB71E3
|
||||
C64E749E0ED44E4700E0057414962D9F1B21160AE62116EFFE8F9DF81B62792E
|
||||
2911E1033CCF4D4E4EF6BA74E9E2D21C8A6F637EAB0D6CAA9C675A16B12A13F0
|
||||
0C8BF12A8553695E5E5E2ED3621790B81F13B074E9D21E73E6CCB9450F6B0648
|
||||
3A8455CC5DED0566059AADF4E01D10421C9A97D8A8CEBCC4FF7D406D42080FC8
|
||||
64488B5852DA92EB6D01D45C9F4C409FB897948891006F4632CB03FEFDF7DFAF
|
||||
CBED7F4A806E3C357DFAF4DFBCF7DE7B43146791000204CBCF58C986AF66598B
|
||||
3D9AA9B109125E82E5113BC8B0713EC7ECC32823C51649B130E7517FD60518F6
|
||||
52E5418A91C49E90C033F8A28C67D33732058DF3781BA9588257027811F4739F
|
||||
CA38021A497523323232260B74B809132F6568E9CF0A663DFBED1739FFFA9D9F
|
||||
144B991636749CCD74C4A6B2A8F010470A2C2C8F285A6DCFB3F00ACE932D7826
|
||||
A4D9822AE7791EE0113CDCFE22BF13FA0F01A9A9A97F12C0502C07013C8C12D6
|
||||
DF20C072BE353F01F6DB7FAC36211CB3D12261435D0131E4790A28629EF7FABF
|
||||
09644D80F0628E8F3E18780B478EF15BE153929B9B9B57EF8FA4B49DD28D030A
|
||||
0A0AFA287E5A4B4494BA4F54F215F779E5AE66AF8CD0544ADB54711962845875
|
||||
57D78749751DF37FF80440EE45F42001F2FD56E77E34C12638B132E0318EB93D
|
||||
C70803DCBE9EE07F2A826AA1623F46EE7A5AE06A1617CDAAE883B2427C616161
|
||||
7B6D0972D50485490BA531F7E9A76984C5FA85BED6B2E380B4696C6A0000E161
|
||||
F63518C0F96688982784080BD2B20928EF42A845E001E9D7FC7A82AF93807A35
|
||||
592A42B57B6B9191B876EDDAF6AAD3DB8A9038A534271458D7BE03B810191000
|
||||
1006559666ADBAE337AE4F5AA34CB690B49847FDC9F3F3E7CFBFD898BFBC04D4
|
||||
6EB24A9844AC2584C86AEDE5216D357069AD6A2CCAD2A6FFC388F3F738402C7D
|
||||
61654B9D36C2A40CB6FF21B029731BE8283C4AE5F6FF2BF8CB4F40EDA667872A
|
||||
3E9BF1A538E1C2C71112B9B68AE1C6C439CDBE0843046D086D3340A4449B5237
|
||||
A2209034A99847ED2F54E105070175357943ACC8E02B9136848D2ACE84DDBB77
|
||||
C76255B20040C90C143C94C080E51C3A818730E57D1E7CEE45E4F9E023A07693
|
||||
75A3972D5BD663CA9429BF519CC751DDA1FCB8386ECF109CC6E088C50EF2BC62
|
||||
FE522D1F3C0458C333444286C0F52614C80636AF6082C7B780E7DDFE522D1F7C
|
||||
04D0F89F82E79F7F3E4318FBC9FA110C906C497CE4C891FB737272FE7E098217
|
||||
FC045853B1D54A3A9128016CAEFE05248687D3D3D3774800EBF319ECFF2F0157
|
||||
B045FFFACFD3BFF47F9FFF371E3422DF2CEB57F80000000049454E44AE426082}
|
||||
0954506E67496D61676589504E470D0A1A0A0000000D49484452000000400000
|
||||
00400806000000AA6971DE0000001974455874536F6674776172650041646F62
|
||||
6520496D616765526561647971C9653C000010B74944415478DAED9B096C5755
|
||||
16C65F77282D5BA150CA2A4B45A050948285418442214E6140C74463C718B463
|
||||
C448C6688C6B8C44258A88041D9851B4A22D33A962D906991123B22450108A0A
|
||||
B21611690B48D94A59DAFF7CBF1B4EE759CB48070AFF89DEE4E5F5FFD6FB7DE7
|
||||
9CEF9C7BEF6B48201068E9795EA5F7CB6C8D424440A35F3A01D1FAA3E26AF7E4
|
||||
2AB5E85F09B80A04849D387122E6ECD9B35167CE9C89ACAAAA0AD3DFE1DA42D9
|
||||
4E9D3A15D6A44993334949493B2B2B2B1B979494C4E93ACE855457577B6CB4D0
|
||||
D0D040585858757878785544444475A3468D4EB76EDDFA987E57072D01656565
|
||||
F1F9F9F9637FF8E187F873E7CE85024CFB90D3A74F8708AC575151E1959797B3
|
||||
AF7EF0C107576CDDBAB5F7A64D9BE28F1D3B16A2CD3B79F2A4A77B3CDDE38938
|
||||
C808889840AB56AD02C9C9C981112346ECCCCACACA1731554147C0C183075B3E
|
||||
F7DC737FF8F6DB6F9B474545D51CC7A200523F1CC003070E3812060E1CE88E1D
|
||||
3F7EDC93C778F20C4F44B96B05DA6D1CBBE69A6BBCF4F4742F3E3EDEFD9E3871
|
||||
E29C84848403414500AEFED8638F65AD5EBDBA83DCDB010B0909717B08602FAB
|
||||
79478F1EF576EFDEEDB569D3C64B4C4C7484009A0DC0E7ADEE363CA177EFDE5E
|
||||
9F3E7D9CE7C8ABBCCE9D3B7B77DC71C7F21B6EB8614D501150505030F089279E
|
||||
1803788002DEDF14CFEED89E3D7B9CC53B75EA5403128B9B97D8DF1CEFD8B1A3
|
||||
B3BCC2C46DFC0D19CD9A353B7CEBADB7E6C4C6C61E0B0A02D4E1D0C993274FDC
|
||||
B0614322041858DB689082EB6FDBB6CD6BD1A285D7A3470F67752CCEE6777B7E
|
||||
43C0B5D75EEBC9D29EC4CF7BEBADB7BCDB6FBFDD8583EE0BC80B662B244A8382
|
||||
008957CC030F3C304971DD58CD1100609ADF13D6AF5FEFEDDAB5CBB975F7EEDD
|
||||
7F4480818708C073ECFAEBAF77DAC0F1152B567813264C70BA317CF8F07FE8FE
|
||||
757A64202808D8BF7F7FFC430F3D94ADCE87237E4A539ED2564D28B007D0679F
|
||||
7DE61517173BAB1A01E6F6FE8D78E7FEC183077B4A91EE1E09AB23A457AF5E5E
|
||||
7676764EBB76EDF65C64F71A9E80A2A2A2AE8F3EFA68169D8600F690C0863744
|
||||
46463AB09F7EFA2964392BE2CAA4457F085818709CFBAEBBEE3A0798B0C1B310
|
||||
523CE2E1871F9EA7F0D81534047CFEF9E7BD2480BF8F8E8E7660CDFA46047B08
|
||||
C003D081B4B434AF43870EEE985FFC006F02C87D2A7A1C015F7EF9A5234959C6
|
||||
FBFEFBEF2B74FF1C6591A34143C0F2E5CB539E7CF2C9713131310EACDF03EC6F
|
||||
40AD5AB5CA3B7CF8B023809CCE313F0156FC404CDBB66D3D153FDEDEBD7B01ED
|
||||
DD7DF7DDDED8B163BDA64D9BEED2B979B5B3CC5525E0C30F3F4C7BF6D9674741
|
||||
8079803F04F88D5BAF5BB7CE81239695CA6A14DF0FDEB6B8B838E701CA2C4E13
|
||||
66CE9CE90813F8B21B6FBCF12F7AEDB9A021E09D77DE19FEE28B2F0E555EAEF1
|
||||
000B03DB00B17DFB765701A6A6A6BA9836D5C70B8C0CE21CD22080F457585848
|
||||
85E98D1A35CA6BDEBC7940E97671BF7EFD36D4A37B0D4FC01B6FBC31F2A5975E
|
||||
1A8C55FDB1CFE627800A1011C30338E72F7CFC1EC0F5585F80BD6FBEF9C66580
|
||||
AE5DBB7A999999C7146AB344D099A02260C68C19635E7EF9E58178801FB89F00
|
||||
6A783C0080B2A04B8FB5815B19CC39A5391726548D268C7DFBF62D79F5D557FF
|
||||
2A022E7620746508983E7DFA98A953A73A02008B0BFB35806368006530E07AF6
|
||||
ECE95CDD5FF71B01160294CA6C5C8F37AC59B3C64B4949D93E6DDAB4DC7A76AF
|
||||
E10998356B56BA52D490962D5B3AD056FC181946006ACE39DCD90649B6F97FF3
|
||||
0C3C80E7A103104036D050788386D08B828E0059A7DBA449937EA72227065707
|
||||
302267552124E0C2A5A5A5EE6F0639343F78DBF002EED170D76900CFE15EB6FB
|
||||
EFBFFF9FE3C68D5B1D7404D0246E4D366FDEDC4EF57E476DEDB66CD992F0DD77
|
||||
DF4503182B028E1A8086C29BA758E3BC91C239EA000A2B065710B673E74EEFA9
|
||||
A79EFADB902143B6062501B5DB9123476245429BC71F7F7CB472792B2C69951F
|
||||
96B522C8C412CBD3AC7862BE801060DBB76F9FA71AE3C4071F7CF067DD532D61
|
||||
0CD7F32A75EE6CD0124093D53ADF73CF3DE3BFFEFAEB661448283A56EFD6AD9B
|
||||
034F4DC0D800EB2378145294CAE88586CCD5EDDBB73FABADBC4B972EFBA50367
|
||||
747FA4CEC709FC41D50DA522EB507272F2C1ACACAC13FE19A8A020E0E38F3F1E
|
||||
2C0F189E9F9F1F46FA230C98F3C3E280A5511330DAC3E237DF7CB3377AF46857
|
||||
2BECD8B1831038307EFCF8F5BABE72F5EAD5DD994CBDE9A69BB60F1B366C1B93
|
||||
A4F2A6300963D4471F7D14A92176A52AD1D3D28DBA86C757960059296AF1E2C5
|
||||
A3A5F829585C6EEBAC8C0740009662208407303D76DEDA9EC07983060D22745C
|
||||
CD2072AAB43FAB22288A224A9560914690251A1F948BC0C3CA12E522CE15444B
|
||||
962C095FB0604140E9B85A6385DA245C3902247AAD047E9CACD5819A000BBFF6
|
||||
DA6B4EFC8C00840D858700CE5BFA93C2BB592248619E10F220833DF79141D8A3
|
||||
157A5695483BAE31C15E659F151A581D7DFBEDB743F19E2953A6D49E32BF3204
|
||||
7CF1C517DD3FF9E4934CC567D3828202071ACBE1E25611020062C8EB80E63C1E
|
||||
01398CFD15EFAE32B401147FE3217884CD1CB38724CE51296A8458FAC8238FE4
|
||||
E81915F7DD775F6876767640630DBF17343C014B972E4D93D20F4F4C4C0CCFCD
|
||||
CD75715C5656E60A1E3A4A2D4F16C0B2741A973702104500410E449022114332
|
||||
0533C0144F1040368014BC82FB184E33B50659E9E9E9FFCAC8C858B576EDDA10
|
||||
1657860E1DEAF7828623401D89C8CBCB1B535C5CDC1F0B2E5AB4C893E23B37C7
|
||||
65A9E60E1D3AE4C091F62080313E5E0031FCE61C618027001A022082EBD10AC0
|
||||
721DA345C0721F0402DE86CB7ACF5EC57F8EC80438C545C37B802CD36CEEDCB9
|
||||
E3D5D1CECCEFA1DC527CD731A6B0E89CAD0FB00114AF80007E03C8621D2FC0EA
|
||||
E47EAC0C79784A5252524DA6600F3180679688E74036EF95A6546848FEBA883F
|
||||
5947572F3F01547C6FBEF9E604C5762B3A4BC799B80424AE5A5454E4E2D90645
|
||||
58174D90423BA0B608C2F53631CA39365CDE5223DE8037112E841084B22E0078
|
||||
A6C998614623742E307BF6ECB932C4BE0627402ADF6FE1C28519CAC18D1136AC
|
||||
42A94A9C52AEDA0C30E0FD233D5675507FAEB741129B110158E29B112364718E
|
||||
38E75AEEB3F941F6108CCE189168C8D34F3FBDE4CE3BEF5CDF6004B0C829971F
|
||||
B672E5CAA1740437A6C0A1F37400F7C64D6D1698C207CBB3C70B20827336ECC5
|
||||
13581A63B6C796CD94491C51DCCF58001DE07E6690994431F0100D782BA7A928
|
||||
33333337BFF2CA2B0B1A84000959F48C193332156F3D894B5C1100B82C8D3864
|
||||
EA8A7826AE112E5BDC30709000182386FB716B23801218CB738E900220EF017C
|
||||
4A4A8AF306859E239D67DB428A4D95AB5FFB5474CDD57B2E6F2124416BA362E6
|
||||
B77A46072CE69FF0A0B374944A8F8E12BB0C5C6CC5D714DC88F14F7AD89C8179
|
||||
06E72D0D021011240B6079C0E31D106D96F72D9FBBDF22B34215E1EB22EFE465
|
||||
2340854D524E4E4EA62AB41844C9567588775CDE4675580E006C36DA33F162C3
|
||||
ADE938318EB58C189E63738290417A840CF6E84AFFFEFD9D376CDAB4C965165B
|
||||
4AF32FA89AC6E00DCF3CF3CCB2DB6EBBAD50863977C90428ADA44AEC4629EEC2
|
||||
496D58CC263B008FDA633152119E41A751661A40F1101A2ECF75FCC6DDFDE5AF
|
||||
AD035A2C5B98503F306FC81ECB031EB5B7D9639B4CB5E7701F1E43C125F2CBD2
|
||||
D2D28A350C5FA9FB4FD49B00B96BC4CC993347AC59B3661031C88B0048CC0292
|
||||
C206C6C9FD8400220839581931C4BA780AC7D00BAEB785118E59EAE36F7361F6
|
||||
FCB67900621EE537CBDB129A7FF5C808805C368CC3BB300ED7BCFBEEBB0BEFBA
|
||||
EBAE8DF522408399D8A953A7662AB7F7807D80F072549F0E40080089692B5CE8
|
||||
0416A71E0004D7A0CA3400E1D25C07017490FA002F40CD69361304495C87E5C9
|
||||
009CE79B00DE6FF1EEFF8082BD4DBBA13BF4EBFC40C991316DDAB41513274E5C
|
||||
79D104C8D5DA2997DE22208903060CA8C9D1EC01640B1500658292995D3C0200
|
||||
741252B02C1DB23940EEA3433C8FEB2000902839BA611320B60E606E8FDA135A
|
||||
06DEBF686204D83A247D316DE037D7F6EDDBB74C293B4F9E7BE4A20850AC27CD
|
||||
9A356B9C3A12CD4B713FAC89556C5516F0FE3C0EE374048BD3013A62391B0B43
|
||||
04C0CCC2DC4BA771514285B103314B0641E5D569176A5BB66CF1BEFAEAAB1A8B
|
||||
FAAD4E630F713CDBC0738C7763793DA754FA95270CE53F2B82744E4CF5D7587A
|
||||
A4727A63D4DBD6F6ECEB0E63DE1AA4700DE778B9A54513373A0129589A8E11F3
|
||||
CC000188B5413ACF971F94BC1040598BE549797EF0FE0553FFCC3162C7FB006F
|
||||
7A00B1902AB12E9B376F5EAE0FFC7F2740964F79E1851732F5D050536D9BC707
|
||||
24D6B7C2C508AB9DCBFD9FC1D06CD2028B5A594C27E9305A8178E2F6C42D6105
|
||||
78521EE0C92280F72F9A1A709E41E6A1411CD7D8208AEC229D2A15F8BC5AE02F
|
||||
4C801E1079EFBDF7FE51C5451CB189E58869368B2FFFD2165E6184B037E074C4
|
||||
DCD096B5B89E67D80713E47C2C8457502C496C5DAD60E0113B08E03AFF52197F
|
||||
1BF1780ACF07BC8D35A8442153E1E4C04B3C6B83AF9B00B11F27B51FBB71E3C6
|
||||
4E749E0ED44E4700E0057414962D9F1B21160AE62116EFFE8F9DF81B62792E29
|
||||
11E1033CCF4D4E4EF6BA74E9E2D21C8A6F637EAB0D6CAA9C675A16B12A13F00C
|
||||
8BF12A8553695E5E5E2ED3621790B81F13B074E9D21E73E6CCB9450F6B06483A
|
||||
8455CC5DED0566059AADF4E01D10421C9A97D8A8CEBCC4FF7D406D42080FC864
|
||||
488B5852DA92EB6D01D45C9F4C409FB897948891006F4632CB03FEFDF7DFAFCB
|
||||
ED7F4A806E3C357DFAF4DFBCF7DE7B43146791000204CBCF58C986AF66598B3D
|
||||
9AA9B109125E82E5113BC8B0713EC7ECC32823C51649B130E7517FD60518F652
|
||||
E5418A91C49E90C033F8A28C67D33732058DF3781BA9588257027811F4739FCA
|
||||
38021A497523323232260B74B809132F6568E9CF0A663DFBED1739FFFA9D9F14
|
||||
4B991636749CCD74C4A6B2A8F010470A2C2C8F285A6DCFB3F00ACE932D7826A4
|
||||
D9822AE7791EE0113CDCFE22BF13FA0F01A9A9A97F12C0502C07013C8C12D6DF
|
||||
20C072BE353F01F6DB7FAC36211CB3D12261435D0131E4790A28629EF7FABF09
|
||||
644D80F0628E8F3E18780B478EF15BE153929B9B9B57EF8FA4B49DD28D030A0A
|
||||
0AFA287E5A4B4494BA4F54F215F779E5AE66AF8CD0544ADB5471196284587557
|
||||
D78749751DF37FF80440EE45F42001F2FD56E77E34C12638B132E0318EB93DC7
|
||||
0803DCBE9EE07F2A826AA1623F46EE7A5AE06A1617CDAAE883B2427C6161617B
|
||||
6D0972D50485490BA531F7E9A76984C5FA85BED6B2E380B4696C6A0000E161F6
|
||||
3518C0F96688982784080BD2B20928EF42A845E001E9D7FC7A82AF93807A3559
|
||||
2A42B57B6B9191B876EDDAF6AAD3DB8A9038A534271458D7BE03B81019100010
|
||||
06559666ADBAE337AE4F5AA34CB690B49847FDC9F3F3E7CFBFD898BFBC04D46E
|
||||
B24A9844AC2584C86AEDE5216D357069AD6A2CCAD2A6FFC388F3F738402C7D61
|
||||
654B9D36C2A40CB6FF21B029731BE8283C4AE5F6FF2BF8CB4F40EDA667872A3E
|
||||
9BF1A538E1C2C71112B9B68AE1C6C439CDBE0843046D086D3340A4449B5237A2
|
||||
209034A99847ED2F54E105070175357943ACC8E02B9136848D2ACE84DDBB77C7
|
||||
6255B20040C90C143C94C080E51C3A818730E57D1E7CEE45E4F9E023A0769375
|
||||
A3972D5BD663CA9429BF519CC751DDA1FCB8386ECF109CC6E088C50EF2BC62FE
|
||||
522D1F3C0458C333444286C0F52614C80636AF6082C7B780E7DDFE522D1F7C04
|
||||
D0F89F82E79F7F3E4318FBC9FA110C906C497CE4C891FB737272FE7E098217FC
|
||||
045853B1D54A3A9128016CAEFE05248687D3D3D3774800EBF319ECFF2F0157B0
|
||||
45FFFACFD3BFF47F9FFF371E3422DF2CEB57F80000000049454E44AE426082}
|
||||
end
|
||||
object lblG940Throttle: TLabel
|
||||
Left = 79
|
||||
|
@ -74,6 +74,8 @@ type
|
||||
|
||||
procedure HandleDeviceStateMessage(ATask: IOmniTaskControl; AMessage: TOmniMessage);
|
||||
procedure HandleRunInMainThreadMessage(ATask: IOmniTaskControl; AMessage: TOmniMessage);
|
||||
procedure HandleProviderKilled(ATask: IOmniTaskControl; AMessage: TOmniMessage);
|
||||
procedure HandleProviderKilledFSX(ATask: IOmniTaskControl; AMessage: TOmniMessage);
|
||||
|
||||
property EventMonitor: TOmniEventMonitor read FEventMonitor;
|
||||
property StateConsumerTask: IOmniTaskControl read FStateConsumerTask;
|
||||
@ -83,6 +85,7 @@ type
|
||||
implementation
|
||||
uses
|
||||
ComObj,
|
||||
Dialogs,
|
||||
SysUtils,
|
||||
Windows,
|
||||
|
||||
@ -131,7 +134,7 @@ procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
begin
|
||||
if Assigned(StateConsumerTask) then
|
||||
begin
|
||||
StateConsumerTask.Terminate;
|
||||
LEDStateConsumer.Finalize(StateConsumerTask);
|
||||
CanClose := False;
|
||||
end;
|
||||
end;
|
||||
@ -199,13 +202,13 @@ end;
|
||||
procedure TMainForm.InitializeStateProvider(AProviderClass: TLEDStateProviderClass);
|
||||
begin
|
||||
UpdateMapping;
|
||||
TLEDStateConsumer.InitializeStateProvider(StateConsumerTask, AProviderClass);
|
||||
LEDStateConsumer.InitializeStateProvider(StateConsumerTask, AProviderClass);
|
||||
end;
|
||||
|
||||
|
||||
procedure TMainForm.FinalizeStateProvider;
|
||||
begin
|
||||
TLEDStateConsumer.FinalizeStateProvider(StateConsumerTask);
|
||||
LEDStateConsumer.FinalizeStateProvider(StateConsumerTask);
|
||||
end;
|
||||
|
||||
|
||||
@ -214,19 +217,21 @@ begin
|
||||
if not Assigned(StateConsumerTask) then
|
||||
Exit;
|
||||
|
||||
TLEDStateConsumer.ClearFunctions(StateConsumerTask);
|
||||
LEDStateConsumer.ClearFunctions(StateConsumerTask);
|
||||
UpdateMappingFSX;
|
||||
end;
|
||||
|
||||
|
||||
procedure TMainForm.UpdateMappingFSX;
|
||||
begin
|
||||
TLEDStateConsumer.SetFunction(StateConsumerTask, 1, FUNCTION_FSX_PARKINGBRAKE);
|
||||
TLEDStateConsumer.SetFunction(StateConsumerTask, 2, FUNCTION_FSX_LANDINGLIGHTS);
|
||||
TLEDStateConsumer.SetFunction(StateConsumerTask, 3, FUNCTION_FSX_GEAR);
|
||||
TLEDStateConsumer.SetFunction(StateConsumerTask, 6, FUNCTION_FSX_INSTRUMENTLIGHTS);
|
||||
LEDStateConsumer.SetFunction(StateConsumerTask, 1, FUNCTION_FSX_PARKINGBRAKE);
|
||||
LEDStateConsumer.SetFunction(StateConsumerTask, 2, FUNCTION_FSX_LANDINGLIGHTS);
|
||||
LEDStateConsumer.SetFunction(StateConsumerTask, 3, FUNCTION_FSX_GEAR);
|
||||
|
||||
TLEDStateConsumer.SetFunction(StateConsumerTask, 7, FUNCTION_OFF);
|
||||
LEDStateConsumer.SetFunction(StateConsumerTask, 4, FUNCTION_FSX_ENGINE);
|
||||
LEDStateConsumer.SetFunction(StateConsumerTask, 6, FUNCTION_FSX_INSTRUMENTLIGHTS);
|
||||
|
||||
// LEDStateConsumer.SetFunction(StateConsumerTask, 7, FUNCTION_OFF);
|
||||
end;
|
||||
|
||||
|
||||
@ -235,6 +240,7 @@ begin
|
||||
case msg.MsgID of
|
||||
MSG_NOTIFY_DEVICESTATE: HandleDeviceStateMessage(task, msg);
|
||||
MSG_RUN_IN_MAINTHREAD: HandleRunInMainThreadMessage(task, msg);
|
||||
MSG_PROVIDER_KILLED: HandleProviderKilled(task, msg);
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -269,15 +275,32 @@ end;
|
||||
|
||||
procedure TMainForm.HandleRunInMainThreadMessage(ATask: IOmniTaskControl; AMessage: TOmniMessage);
|
||||
var
|
||||
waitableObject: TObject;
|
||||
waitableValue: TOmniWaitableValue;
|
||||
executor: IRunInMainThread;
|
||||
|
||||
begin
|
||||
waitableObject := ATask.Param[0].AsObject;
|
||||
waitableValue := (waitableObject as TOmniWaitableValue);
|
||||
executor := (AMessage.MsgData.AsInterface as IRunInMainThread);
|
||||
executor.Execute;
|
||||
executor.Signal;
|
||||
end;
|
||||
|
||||
// (waitableValue.Value.AsInterface as IRunInMainThread).Execute;
|
||||
// waitableValue.Signal;
|
||||
|
||||
procedure TMainForm.HandleProviderKilled(ATask: IOmniTaskControl; AMessage: TOmniMessage);
|
||||
begin
|
||||
HandleProviderKilledFSX(ATask, AMessage);
|
||||
end;
|
||||
|
||||
|
||||
procedure TMainForm.HandleProviderKilledFSX(ATask: IOmniTaskControl; AMessage: TOmniMessage);
|
||||
var
|
||||
msg: string;
|
||||
|
||||
begin
|
||||
btnFSXDisconnect.Enabled := False;
|
||||
btnFSXConnect.Enabled := True;
|
||||
|
||||
msg := AMessage.MsgData;
|
||||
if Length(msg) > 0 then
|
||||
ShowMessage(msg);
|
||||
end;
|
||||
|
||||
|
||||
|
@ -7,7 +7,9 @@ uses
|
||||
LEDStateConsumer in 'Units\LEDStateConsumer.pas',
|
||||
LEDStateProvider in 'Units\LEDStateProvider.pas',
|
||||
LEDFunctionMap in 'Units\LEDFunctionMap.pas',
|
||||
G940LEDStateConsumer in 'Units\G940LEDStateConsumer.pas';
|
||||
G940LEDStateConsumer in 'Units\G940LEDStateConsumer.pas',
|
||||
LogiJoystickDLL in '..\Shared\LogiJoystickDLL.pas',
|
||||
SimConnect in '..\Shared\SimConnect.pas';
|
||||
|
||||
{$R *.res}
|
||||
|
||||
|
@ -1,428 +1,158 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ProjectGuid>{a2bd627c-a934-4ce8-9963-1f81ae521c4c}</ProjectGuid>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
|
||||
<DCC_DependencyCheckOutputName>Bin\G940LEDControl.exe</DCC_DependencyCheckOutputName>
|
||||
<MainSource>G940LEDControl.dpr</MainSource>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<Version>7.0</Version>
|
||||
<DCC_DebugInformation>False</DCC_DebugInformation>
|
||||
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
|
||||
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
|
||||
<DCC_Define>RELEASE</DCC_Define>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<Version>7.0</Version>
|
||||
<DCC_Define>DEBUG</DCC_Define>
|
||||
<DCC_ExeOutput>Bin</DCC_ExeOutput>
|
||||
<DCC_DcuOutput>Lib</DCC_DcuOutput>
|
||||
<DCC_ObjOutput>Lib</DCC_ObjOutput>
|
||||
<DCC_HppOutput>Lib</DCC_HppOutput>
|
||||
<DCC_UnitSearchPath>..\DirectX;..\Shared</DCC_UnitSearchPath>
|
||||
<DCC_ResourcePath>..\DirectX;..\Shared</DCC_ResourcePath>
|
||||
<DCC_ObjPath>..\DirectX;..\Shared</DCC_ObjPath>
|
||||
<DCC_IncludePath>..\DirectX;..\Shared</DCC_IncludePath>
|
||||
<DCC_SYMBOL_PLATFORM>False</DCC_SYMBOL_PLATFORM>
|
||||
<DCC_UNIT_PLATFORM>False</DCC_UNIT_PLATFORM>
|
||||
</PropertyGroup>
|
||||
<ProjectExtensions>
|
||||
<Borland.Personality>Delphi.Personality</Borland.Personality>
|
||||
<Borland.ProjectType />
|
||||
<BorlandProject>
|
||||
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">False</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">1043</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">G940LEDControl.dpr</Source></Source><Excluded_Packages>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<Excluded_Packages Name="P:\algemeen\bin\D2007\wpViewPDF_D2007.bpl">WPViewPDF - PDFViewClass</Excluded_Packages>
|
||||
<Excluded_Packages Name="P:\algemeen\bin\D2007\madExceptVcl_.bpl">madExceptVcl 2.0c - www.madshi.net</Excluded_Packages>
|
||||
<Excluded_Packages Name="D:\Program Files\Developer Express.VCL\Library\Delphi11\dclcxPivotGridOLAPD11.bpl">ExpressPivotGrid 2 OLAP by Developer Express Inc.</Excluded_Packages>
|
||||
</Excluded_Packages></Delphi.Personality></BorlandProject></BorlandProject>
|
||||
</ProjectExtensions>
|
||||
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
|
||||
<ItemGroup>
|
||||
<DelphiCompile Include="G940LEDControl.dpr">
|
||||
<MainSource>MainSource</MainSource>
|
||||
</DelphiCompile>
|
||||
<DCCReference Include="Forms\MainFrm.pas">
|
||||
<Form>MainForm</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="Units\FSXLEDStateProvider.pas" />
|
||||
<DCCReference Include="Units\G940LEDStateConsumer.pas" />
|
||||
<DCCReference Include="Units\LEDFunctionMap.pas" />
|
||||
<DCCReference Include="Units\LEDStateConsumer.pas" />
|
||||
<DCCReference Include="Units\LEDStateProvider.pas" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ProjectGuid>{a2bd627c-a934-4ce8-9963-1f81ae521c4c}</ProjectGuid>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
|
||||
<DCC_DependencyCheckOutputName>Bin\G940LEDControl.exe</DCC_DependencyCheckOutputName>
|
||||
<MainSource>G940LEDControl.dpr</MainSource>
|
||||
<FrameworkType>VCL</FrameworkType>
|
||||
<ProjectVersion>13.4</ProjectVersion>
|
||||
<Base>True</Base>
|
||||
<Config Condition="'$(Config)'==''">Debug</Config>
|
||||
<Platform Condition="'$(Platform)'==''">Win32</Platform>
|
||||
<TargetedPlatforms>1</TargetedPlatforms>
|
||||
<AppType>Application</AppType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
|
||||
<Base>true</Base>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
|
||||
<Base_Win64>true</Base_Win64>
|
||||
<CfgParent>Base</CfgParent>
|
||||
<Base>true</Base>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
|
||||
<Base_Win32>true</Base_Win32>
|
||||
<CfgParent>Base</CfgParent>
|
||||
<Base>true</Base>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''">
|
||||
<Cfg_1>true</Cfg_1>
|
||||
<CfgParent>Base</CfgParent>
|
||||
<Base>true</Base>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''">
|
||||
<Cfg_2>true</Cfg_2>
|
||||
<CfgParent>Base</CfgParent>
|
||||
<Base>true</Base>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Base)'!=''">
|
||||
<DCC_Namespace>Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;System.Win;$(DCC_Namespace)</DCC_Namespace>
|
||||
<VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
|
||||
<VerInfo_Locale>1043</VerInfo_Locale>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Base_Win64)'!=''">
|
||||
<Icon_MainIcon>G940LEDControl_Icon.ico</Icon_MainIcon>
|
||||
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Base_Win32)'!=''">
|
||||
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
|
||||
<Icon_MainIcon>G940LEDControl_Icon.ico</Icon_MainIcon>
|
||||
<DCC_Namespace>Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
|
||||
<VerInfo_Locale>1033</VerInfo_Locale>
|
||||
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
|
||||
<VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Cfg_1)'!=''">
|
||||
<Version>7.0</Version>
|
||||
<DCC_DebugInformation>False</DCC_DebugInformation>
|
||||
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
|
||||
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
|
||||
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Cfg_2)'!=''">
|
||||
<Version>7.0</Version>
|
||||
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
|
||||
<DCC_ExeOutput>Bin</DCC_ExeOutput>
|
||||
<DCC_DcuOutput>Lib</DCC_DcuOutput>
|
||||
<DCC_ObjOutput>Lib</DCC_ObjOutput>
|
||||
<DCC_HppOutput>Lib</DCC_HppOutput>
|
||||
<DCC_UnitSearchPath>..\DirectX;..\Shared;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
|
||||
<DCC_ResourcePath>..\DirectX;..\Shared;$(DCC_ResourcePath)</DCC_ResourcePath>
|
||||
<DCC_ObjPath>..\DirectX;..\Shared;$(DCC_ObjPath)</DCC_ObjPath>
|
||||
<DCC_IncludePath>..\DirectX;..\Shared;$(DCC_IncludePath)</DCC_IncludePath>
|
||||
<DCC_SYMBOL_PLATFORM>False</DCC_SYMBOL_PLATFORM>
|
||||
<DCC_UNIT_PLATFORM>False</DCC_UNIT_PLATFORM>
|
||||
</PropertyGroup>
|
||||
<ProjectExtensions>
|
||||
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
|
||||
<Borland.ProjectType/>
|
||||
<BorlandProject>
|
||||
<Delphi.Personality>
|
||||
<Parameters>
|
||||
<Parameters Name="UseLauncher">False</Parameters>
|
||||
<Parameters Name="LoadAllSymbols">True</Parameters>
|
||||
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
|
||||
</Parameters>
|
||||
<VersionInfo>
|
||||
<VersionInfo Name="IncludeVerInfo">False</VersionInfo>
|
||||
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
|
||||
<VersionInfo Name="MajorVer">1</VersionInfo>
|
||||
<VersionInfo Name="MinorVer">0</VersionInfo>
|
||||
<VersionInfo Name="Release">0</VersionInfo>
|
||||
<VersionInfo Name="Build">0</VersionInfo>
|
||||
<VersionInfo Name="Debug">False</VersionInfo>
|
||||
<VersionInfo Name="PreRelease">False</VersionInfo>
|
||||
<VersionInfo Name="Special">False</VersionInfo>
|
||||
<VersionInfo Name="Private">False</VersionInfo>
|
||||
<VersionInfo Name="DLL">False</VersionInfo>
|
||||
<VersionInfo Name="Locale">1043</VersionInfo>
|
||||
<VersionInfo Name="CodePage">1252</VersionInfo>
|
||||
</VersionInfo>
|
||||
<VersionInfoKeys>
|
||||
<VersionInfoKeys Name="CompanyName"/>
|
||||
<VersionInfoKeys Name="FileDescription"/>
|
||||
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
|
||||
<VersionInfoKeys Name="InternalName"/>
|
||||
<VersionInfoKeys Name="LegalCopyright"/>
|
||||
<VersionInfoKeys Name="LegalTrademarks"/>
|
||||
<VersionInfoKeys Name="OriginalFilename"/>
|
||||
<VersionInfoKeys Name="ProductName"/>
|
||||
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
|
||||
<VersionInfoKeys Name="Comments"/>
|
||||
</VersionInfoKeys>
|
||||
<Source>
|
||||
<Source Name="MainSource">G940LEDControl.dpr</Source>
|
||||
</Source>
|
||||
<Excluded_Packages>
|
||||
<Excluded_Packages Name="P:\algemeen\bin\D2007\wpViewPDF_D2007.bpl">WPViewPDF - PDFViewClass</Excluded_Packages>
|
||||
<Excluded_Packages Name="P:\algemeen\bin\D2007\madExceptVcl_.bpl">madExceptVcl 2.0c - www.madshi.net</Excluded_Packages>
|
||||
<Excluded_Packages Name="D:\Program Files\Developer Express.VCL\Library\Delphi11\dclcxPivotGridOLAPD11.bpl">ExpressPivotGrid 2 OLAP by Developer Express Inc.</Excluded_Packages>
|
||||
</Excluded_Packages>
|
||||
</Delphi.Personality>
|
||||
<Platforms>
|
||||
<Platform value="Win64">False</Platform>
|
||||
<Platform value="Win32">True</Platform>
|
||||
</Platforms>
|
||||
</BorlandProject>
|
||||
<ProjectFileVersion>12</ProjectFileVersion>
|
||||
</ProjectExtensions>
|
||||
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets"/>
|
||||
<ItemGroup>
|
||||
<DelphiCompile Include="$(MainSource)">
|
||||
<MainSource>MainSource</MainSource>
|
||||
</DelphiCompile>
|
||||
<DCCReference Include="Forms\MainFrm.pas">
|
||||
<Form>MainForm</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="Units\FSXLEDStateProvider.pas"/>
|
||||
<DCCReference Include="Units\LEDStateConsumer.pas"/>
|
||||
<DCCReference Include="Units\LEDStateProvider.pas"/>
|
||||
<DCCReference Include="Units\LEDFunctionMap.pas"/>
|
||||
<DCCReference Include="Units\G940LEDStateConsumer.pas"/>
|
||||
<DCCReference Include="..\Shared\LogiJoystickDLL.pas"/>
|
||||
<DCCReference Include="..\Shared\SimConnect.pas"/>
|
||||
<BuildConfiguration Include="Debug">
|
||||
<Key>Cfg_2</Key>
|
||||
<CfgParent>Base</CfgParent>
|
||||
</BuildConfiguration>
|
||||
<BuildConfiguration Include="Base">
|
||||
<Key>Base</Key>
|
||||
</BuildConfiguration>
|
||||
<BuildConfiguration Include="Release">
|
||||
<Key>Cfg_1</Key>
|
||||
<CfgParent>Base</CfgParent>
|
||||
</BuildConfiguration>
|
||||
</ItemGroup>
|
||||
<Import Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')" Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj"/>
|
||||
</Project>
|
||||
|
Binary file not shown.
BIN
G940LEDControl/G940LEDControl_Icon.ico
Normal file
BIN
G940LEDControl/G940LEDControl_Icon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
@ -1,11 +1,10 @@
|
||||
unit FSXLEDStateProvider;
|
||||
|
||||
// ToDo check has gear (react to sim start, aircraft change, etc)
|
||||
|
||||
interface
|
||||
uses
|
||||
Classes,
|
||||
SyncObjs,
|
||||
Windows,
|
||||
|
||||
LEDFunctionMap,
|
||||
LEDStateConsumer,
|
||||
@ -18,11 +17,9 @@ const
|
||||
FUNCTION_FSX_LANDINGLIGHTS = FUNCTION_PROVIDER_OFFSET + 2;
|
||||
FUNCTION_FSX_INSTRUMENTLIGHTS = FUNCTION_PROVIDER_OFFSET + 3;
|
||||
FUNCTION_FSX_PARKINGBRAKE = FUNCTION_PROVIDER_OFFSET + 4;
|
||||
FUNCTION_FSX_ENGINE = FUNCTION_PROVIDER_OFFSET + 5;
|
||||
|
||||
EXIT_ERROR_INITSIMCONNECT = 1;
|
||||
EXIT_ERROR_CONNECT = 2;
|
||||
|
||||
|
||||
type
|
||||
TFSXLEDStateProvider = class(TLEDStateProvider)
|
||||
private
|
||||
@ -34,12 +31,12 @@ type
|
||||
procedure UpdateMap;
|
||||
procedure HandleDispatch(AData: PSimConnectRecv);
|
||||
|
||||
procedure AddVariable(ADefineID: Cardinal; ADatumName, AUnitsName: string;
|
||||
ADatumType: SIMCONNECT_DATAType = SIMCONNECT_DATAType_FLOAT64;
|
||||
AEpsilon: Single = 0; ADatumID: DWORD = SIMCONNECT_UNUSED);
|
||||
procedure AddDefinition(ADefinition: Cardinal);
|
||||
procedure ClearDefinitions;
|
||||
|
||||
function GetDataBoolean(var AData: Cardinal): Boolean;
|
||||
function GetDataDouble(var AData: Cardinal): Double;
|
||||
|
||||
property SimConnectHandle: THandle read FSimConnectHandle;
|
||||
public
|
||||
constructor Create(AConsumer: ILEDStateConsumer); override;
|
||||
@ -54,31 +51,56 @@ type
|
||||
implementation
|
||||
uses
|
||||
ComObj,
|
||||
Math,
|
||||
SysUtils;
|
||||
|
||||
|
||||
const
|
||||
APPNAME = 'G940 LED Control';
|
||||
READY_TIMEOUT = 5000;
|
||||
|
||||
MAX_ENGINES = 4;
|
||||
|
||||
DEFINITION_GEAR = 1;
|
||||
DEFINITION_LIGHTS = 2;
|
||||
DEFINITION_INSTRUMENTLIGHTS = 3;
|
||||
DEFINITION_PARKINGBRAKE = 4;
|
||||
DEFINITION_ENGINE = 5;
|
||||
|
||||
FSX_VARIABLE_ISGEARRETRACTABLE = 'IS GEAR RETRACTABLE';
|
||||
FSX_VARIABLE_GEARTOTALPCTEXTENDED = 'GEAR TOTAL PCT EXTENDED';
|
||||
FSX_VARIABLE_LIGHTONSTATES = 'LIGHT ON STATES';
|
||||
FSX_VARIABLE_PARKINGBRAKE = 'BRAKE PARKING INDICATOR';
|
||||
FSX_VARIABLE_NUMBEROFENGINES = 'NUMBER OF ENGINES';
|
||||
FSX_VARIABLE_ENGCOMBUSTION = 'GENERAL ENG COMBUSTION:%d';
|
||||
FSX_VARIABLE_ENGFAILED = 'ENG FAILED:%d';
|
||||
FSX_VARIABLE_ENGONFIRE = 'ENG ON FIRE:%d';
|
||||
|
||||
FSX_UNIT_PERCENT = 'percent';
|
||||
FSX_UNIT_MASK = 'mask';
|
||||
FSX_UNIT_BOOL = 'bool';
|
||||
FSX_UNIT_NUMBER = 'number';
|
||||
|
||||
FSX_LIGHTON_LANDING = $0004;
|
||||
FSX_LIGHTON_PANEL = $0020;
|
||||
FSX_LIGHTON_CABIN = $0200;
|
||||
|
||||
|
||||
type
|
||||
TGearData = packed record
|
||||
IsGearRetractable: Integer;
|
||||
TotalPctExtended: Double;
|
||||
end;
|
||||
PGearData = ^TGearData;
|
||||
|
||||
TEngineData = packed record
|
||||
NumberOfEngines: Integer;
|
||||
Combustion: array[1..MAX_ENGINES] of Integer;
|
||||
Failed: array[1..MAX_ENGINES] of Integer;
|
||||
OnFire: array[1..MAX_ENGINES] of Integer;
|
||||
end;
|
||||
PEngineData = ^TEngineData;
|
||||
|
||||
|
||||
{ TFSXLEDStateProvider }
|
||||
constructor TFSXLEDStateProvider.Create(AConsumer: ILEDStateConsumer);
|
||||
begin
|
||||
@ -99,10 +121,10 @@ end;
|
||||
procedure TFSXLEDStateProvider.Initialize;
|
||||
begin
|
||||
if not InitSimConnect then
|
||||
raise EInitializeError.Create('SimConnect.dll could not be loaded', EXIT_ERROR_INITSIMCONNECT);
|
||||
raise EInitializeError.Create('SimConnect.dll could not be loaded');
|
||||
|
||||
if SimConnect_Open(FSimConnectHandle, APPNAME, 0, 0, 0, 0) <> S_OK then
|
||||
raise EInitializeError.Create('Connection to Flight Simulator could not be established', EXIT_ERROR_CONNECT);
|
||||
raise EInitializeError.Create('Connection to Flight Simulator could not be established');
|
||||
|
||||
UpdateMap;
|
||||
end;
|
||||
@ -136,53 +158,50 @@ end;
|
||||
|
||||
|
||||
procedure TFSXLEDStateProvider.UpdateMap;
|
||||
var
|
||||
engineIndex: Integer;
|
||||
begin
|
||||
ClearDefinitions;
|
||||
|
||||
|
||||
{ Gear }
|
||||
if Consumer.FunctionMap.HasFunction(FUNCTION_FSX_GEAR) then
|
||||
begin
|
||||
SimConnect_AddToDataDefinition(SimConnectHandle, DEFINITION_GEAR,
|
||||
FSX_VARIABLE_GEARTOTALPCTEXTENDED,
|
||||
FSX_UNIT_PERCENT);
|
||||
SimConnect_RequestDataOnSimObject(SimConnectHandle, DEFINITION_GEAR,
|
||||
DEFINITION_GEAR,
|
||||
SIMCONNECT_OBJECT_ID_USER,
|
||||
SIMCONNECT_PERIOD_SIM_FRAME,
|
||||
SIMCONNECT_DATA_REQUEST_FLAG_CHANGED);
|
||||
|
||||
AddVariable(DEFINITION_GEAR, FSX_VARIABLE_ISGEARRETRACTABLE, FSX_UNIT_BOOL, SIMCONNECT_DATAType_INT32);
|
||||
AddVariable(DEFINITION_GEAR, FSX_VARIABLE_GEARTOTALPCTEXTENDED, FSX_UNIT_PERCENT);
|
||||
AddDefinition(DEFINITION_GEAR);
|
||||
end;
|
||||
|
||||
{ Lights }
|
||||
if Consumer.FunctionMap.HasFunction(FUNCTION_FSX_LANDINGLIGHTS) or
|
||||
Consumer.FunctionMap.HasFunction(FUNCTION_FSX_INSTRUMENTLIGHTS) then
|
||||
begin
|
||||
SimConnect_AddToDataDefinition(SimConnectHandle, DEFINITION_LIGHTS,
|
||||
FSX_VARIABLE_LIGHTONSTATES,
|
||||
FSX_UNIT_MASK,
|
||||
SIMCONNECT_DATATYPE_INT32);
|
||||
SimConnect_RequestDataOnSimObject(SimConnectHandle, DEFINITION_LIGHTS,
|
||||
DEFINITION_LIGHTS,
|
||||
SIMCONNECT_OBJECT_ID_USER,
|
||||
SIMCONNECT_PERIOD_SIM_FRAME,
|
||||
SIMCONNECT_DATA_REQUEST_FLAG_CHANGED);
|
||||
|
||||
AddVariable(DEFINITION_LIGHTS, FSX_VARIABLE_LIGHTONSTATES, FSX_UNIT_MASK, SIMCONNECT_DATATYPE_INT32);
|
||||
AddDefinition(DEFINITION_LIGHTS);
|
||||
end;
|
||||
|
||||
{ Parking brake }
|
||||
if Consumer.FunctionMap.HasFunction(FUNCTION_FSX_PARKINGBRAKE) then
|
||||
begin
|
||||
SimConnect_AddToDataDefinition(SimConnectHandle, DEFINITION_PARKINGBRAKE,
|
||||
FSX_VARIABLE_PARKINGBRAKE,
|
||||
FSX_UNIT_BOOL,
|
||||
SIMCONNECT_DATATYPE_INT32);
|
||||
SimConnect_RequestDataOnSimObject(SimConnectHandle, DEFINITION_PARKINGBRAKE,
|
||||
DEFINITION_PARKINGBRAKE,
|
||||
SIMCONNECT_OBJECT_ID_USER,
|
||||
SIMCONNECT_PERIOD_SIM_FRAME,
|
||||
SIMCONNECT_DATA_REQUEST_FLAG_CHANGED);
|
||||
|
||||
AddVariable(DEFINITION_PARKINGBRAKE, FSX_VARIABLE_PARKINGBRAKE, FSX_UNIT_BOOL, SIMCONNECT_DATATYPE_INT32);
|
||||
AddDefinition(DEFINITION_PARKINGBRAKE);
|
||||
end;
|
||||
|
||||
{ Engine }
|
||||
if Consumer.FunctionMap.HasFunction(FUNCTION_FSX_ENGINE) then
|
||||
begin
|
||||
AddVariable(DEFINITION_ENGINE, FSX_VARIABLE_NUMBEROFENGINES, FSX_UNIT_NUMBER, SIMCONNECT_DATAType_INT32);
|
||||
|
||||
for engineIndex := 1 to MAX_ENGINES do
|
||||
AddVariable(DEFINITION_ENGINE, Format(FSX_VARIABLE_ENGCOMBUSTION, [engineIndex]), FSX_UNIT_BOOL, SIMCONNECT_DATAType_INT32);
|
||||
|
||||
for engineIndex := 1 to MAX_ENGINES do
|
||||
AddVariable(DEFINITION_ENGINE, Format(FSX_VARIABLE_ENGFAILED, [engineIndex]), FSX_UNIT_BOOL, SIMCONNECT_DATAType_INT32);
|
||||
|
||||
for engineIndex := 1 to MAX_ENGINES do
|
||||
AddVariable(DEFINITION_ENGINE, Format(FSX_VARIABLE_ENGONFIRE, [engineIndex]), FSX_UNIT_BOOL, SIMCONNECT_DATAType_INT32);
|
||||
|
||||
AddDefinition(DEFINITION_ENGINE);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
@ -190,7 +209,11 @@ procedure TFSXLEDStateProvider.HandleDispatch(AData: PSimConnectRecv);
|
||||
var
|
||||
simObjectData: PSimConnectRecvSimObjectData;
|
||||
states: Cardinal;
|
||||
|
||||
gearData: PGearData;
|
||||
engineData: PEngineData;
|
||||
engineIndex: Integer;
|
||||
state: TLEDState;
|
||||
|
||||
begin
|
||||
case SIMCONNECT_RECV_ID(AData^.dwID) of
|
||||
SIMCONNECT_RECV_ID_SIMOBJECT_DATA:
|
||||
@ -200,11 +223,17 @@ begin
|
||||
case simObjectData^.dwRequestID of
|
||||
DEFINITION_GEAR:
|
||||
begin
|
||||
case Trunc(GetDataDouble(simObjectData^.dwData) * 100) of
|
||||
0: Consumer.SetStateByFunction(FUNCTION_FSX_GEAR, lsRed);
|
||||
100: Consumer.SetStateByFunction(FUNCTION_FSX_GEAR, lsGreen);
|
||||
else Consumer.SetStateByFunction(FUNCTION_FSX_GEAR, lsAmber);
|
||||
end;
|
||||
gearData := @simObjectData^.dwData;
|
||||
|
||||
if gearData^.IsGearRetractable <> 0 then
|
||||
begin
|
||||
case Trunc(gearData^.TotalPctExtended * 100) of
|
||||
0: Consumer.SetStateByFunction(FUNCTION_FSX_GEAR, lsRed);
|
||||
100: Consumer.SetStateByFunction(FUNCTION_FSX_GEAR, lsGreen);
|
||||
else Consumer.SetStateByFunction(FUNCTION_FSX_GEAR, lsAmber);
|
||||
end;
|
||||
end else
|
||||
Consumer.SetStateByFunction(FUNCTION_FSX_GEAR, lsOff);
|
||||
end;
|
||||
|
||||
DEFINITION_LIGHTS:
|
||||
@ -222,10 +251,38 @@ begin
|
||||
end;
|
||||
|
||||
DEFINITION_PARKINGBRAKE:
|
||||
if GetDataBoolean(simObjectData^.dwData) then
|
||||
if simObjectData^.dwData <> 0 then
|
||||
Consumer.SetStateByFunction(FUNCTION_FSX_PARKINGBRAKE, lsRed)
|
||||
else
|
||||
Consumer.SetStateByFunction(FUNCTION_FSX_PARKINGBRAKE, lsGreen);
|
||||
|
||||
DEFINITION_ENGINE:
|
||||
begin
|
||||
engineData := @simObjectData^.dwData;
|
||||
|
||||
if engineData^.NumberOfEngines > 0 then
|
||||
begin
|
||||
state := lsGreen;
|
||||
|
||||
for engineIndex := 1 to Min(engineData^.NumberOfEngines, MAX_ENGINES) do
|
||||
begin
|
||||
if engineData.OnFire[engineIndex] <> 0 then
|
||||
begin
|
||||
state := lsError;
|
||||
break;
|
||||
|
||||
end else if engineData.Failed[engineIndex] <> 0 then
|
||||
state := lsWarning
|
||||
|
||||
else if (engineData.Combustion[engineIndex] = 0) and
|
||||
(state = lsGreen) then
|
||||
state := lsRed;
|
||||
end;
|
||||
|
||||
Consumer.SetStateByFunction(FUNCTION_FSX_ENGINE, state);
|
||||
end else
|
||||
Consumer.SetStateByFunction(FUNCTION_FSX_ENGINE, lsOff);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -238,9 +295,22 @@ end;
|
||||
procedure TFSXLEDStateProvider.AddDefinition(ADefinition: Cardinal);
|
||||
begin
|
||||
FDefinitions.Add(Pointer(ADefinition));
|
||||
SimConnect_RequestDataOnSimObject(SimConnectHandle,
|
||||
ADefinition,
|
||||
ADefinition,
|
||||
SIMCONNECT_OBJECT_ID_USER,
|
||||
SIMCONNECT_PERIOD_SIM_FRAME,
|
||||
SIMCONNECT_DATA_REQUEST_FLAG_CHANGED);
|
||||
end;
|
||||
|
||||
|
||||
procedure TFSXLEDStateProvider.AddVariable(ADefineID: Cardinal; ADatumName, AUnitsName: string;
|
||||
ADatumType: SIMCONNECT_DATAType; AEpsilon: Single;
|
||||
ADatumID: DWORD);
|
||||
begin
|
||||
SimConnect_AddToDataDefinition(SimConnectHandle, ADefineID, AnsiString(ADatumName), AnsiString(AUnitsName), ADatumType, AEpsilon, ADatumID);
|
||||
end;
|
||||
|
||||
procedure TFSXLEDStateProvider.ClearDefinitions;
|
||||
var
|
||||
definition: Pointer;
|
||||
@ -256,18 +326,6 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
function TFSXLEDStateProvider.GetDataBoolean(var AData: Cardinal): Boolean;
|
||||
begin
|
||||
Result := (AData <> 0);
|
||||
end;
|
||||
|
||||
|
||||
function TFSXLEDStateProvider.GetDataDouble(var AData: Cardinal): Double;
|
||||
begin
|
||||
Result := PDouble(@AData)^;
|
||||
end;
|
||||
|
||||
|
||||
function TFSXLEDStateProvider.GetProcessMessagesInterval: Integer;
|
||||
begin
|
||||
Result := 50;
|
||||
|
@ -9,12 +9,16 @@ uses
|
||||
OtlTaskControl,
|
||||
|
||||
LEDFunctionMap,
|
||||
LEDStateConsumer;
|
||||
LEDStateConsumer,
|
||||
LEDStateProvider;
|
||||
|
||||
|
||||
const
|
||||
MSG_FINDTHROTTLEDEVICE = MSG_CONSUMER_OFFSET + 1;
|
||||
MSG_NOTIFY_DEVICESTATE = MSG_CONSUMER_OFFSET + 2;
|
||||
MSG_TIMER_BLINK = MSG_CONSUMER_OFFSET + 3;
|
||||
|
||||
TIMER_BLINK = TIMER_CONSUMER_OFFSET + 1;
|
||||
|
||||
type
|
||||
TG940LEDStateConsumer = class(TLEDStateConsumer)
|
||||
@ -24,14 +28,21 @@ type
|
||||
|
||||
FRed: Byte;
|
||||
FGreen: Byte;
|
||||
|
||||
FBlinkTimerStarted: Boolean;
|
||||
FBlinkCounter: Integer;
|
||||
protected
|
||||
procedure MsgFindThrottleDevice(var msg: TOmniMessage); message MSG_FINDTHROTTLEDEVICE;
|
||||
procedure MsgTimerBlink(var msg: TOmniMessage); message MSG_TIMER_BLINK;
|
||||
protected
|
||||
function Initialize: Boolean; override;
|
||||
procedure ResetLEDState; override;
|
||||
procedure LEDStateChanged(ALEDIndex: Integer; AState: TLEDState); override;
|
||||
procedure Changed; override;
|
||||
|
||||
procedure StartBlinkTimer;
|
||||
procedure StopBlinkTimer;
|
||||
|
||||
procedure FindThrottleDevice;
|
||||
procedure FoundThrottleDevice(ADeviceGUID: TGUID);
|
||||
|
||||
@ -47,21 +58,27 @@ const
|
||||
DEVICESTATE_FOUND = 1;
|
||||
DEVICESTATE_NOTFOUND = 2;
|
||||
|
||||
EXIT_ERROR_LOGIJOYSTICKDLL = 1;
|
||||
EXIT_ERROR_DIRECTINPUT = 2;
|
||||
EXIT_ERROR_LOGIJOYSTICKDLL = EXIT_CONSUMER_OFFSET + 1;
|
||||
EXIT_ERROR_DIRECTINPUT = EXIT_CONSUMER_OFFSET + 2;
|
||||
|
||||
|
||||
implementation
|
||||
uses
|
||||
SysUtils,
|
||||
Windows,
|
||||
|
||||
|
||||
OtlCommon,
|
||||
|
||||
LogiJoystickDLL;
|
||||
|
||||
|
||||
|
||||
const
|
||||
BLINK_INTERVAL = 500;
|
||||
|
||||
|
||||
type
|
||||
TRunInMainThreadSetLEDs = class(TInterfacedObject, IRunInMainThread)
|
||||
TRunInMainThreadSetLEDs = class(TOmniWaitableValue, IRunInMainThread)
|
||||
private
|
||||
FDevice: IDirectInputDevice8;
|
||||
FRed: Byte;
|
||||
@ -160,12 +177,20 @@ begin
|
||||
lsRed:
|
||||
red := True;
|
||||
|
||||
// ToDo timers voor warning / error
|
||||
lsWarning:
|
||||
red := True;
|
||||
begin
|
||||
red := True;
|
||||
green := True;
|
||||
|
||||
StartBlinkTimer;
|
||||
end;
|
||||
|
||||
lsError:
|
||||
red := True;
|
||||
begin
|
||||
red := True;
|
||||
|
||||
StartBlinkTimer;
|
||||
end;
|
||||
end;
|
||||
|
||||
SetBit(FRed, ALEDIndex, red);
|
||||
@ -181,7 +206,28 @@ begin
|
||||
|
||||
if Assigned(ThrottleDevice) then
|
||||
{ Logitech SDK will not change the color outside of the main thread }
|
||||
RunInMainThread(TRunInMainThreadSetLEDs.Create(ThrottleDevice, FRed, FGreen));
|
||||
RunInMainThread(TRunInMainThreadSetLEDs.Create(ThrottleDevice, FRed, FGreen), Destroying);
|
||||
end;
|
||||
|
||||
|
||||
procedure TG940LEDStateConsumer.StartBlinkTimer;
|
||||
begin
|
||||
if FBlinkTimerStarted then
|
||||
exit;
|
||||
|
||||
FBlinkCounter := 0;
|
||||
Task.SetTimer(TIMER_BLINK, BLINK_INTERVAL, MSG_TIMER_BLINK);
|
||||
FBlinkTimerStarted := True;
|
||||
end;
|
||||
|
||||
|
||||
procedure TG940LEDStateConsumer.StopBlinkTimer;
|
||||
begin
|
||||
if not FBlinkTimerStarted then
|
||||
exit;
|
||||
|
||||
Task.ClearTimer(TIMER_BLINK);
|
||||
FBlinkTimerStarted := False;
|
||||
end;
|
||||
|
||||
|
||||
@ -219,6 +265,51 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
procedure TG940LEDStateConsumer.MsgTimerBlink(var msg: TOmniMessage);
|
||||
var
|
||||
warningState: TLEDState;
|
||||
errorState: TLEDState;
|
||||
ledIndex: Integer;
|
||||
state: TLEDState;
|
||||
|
||||
begin
|
||||
Inc(FBlinkCounter);
|
||||
if FBlinkCounter > 3 then
|
||||
FBlinkCounter := 0;
|
||||
|
||||
warningState := lsOff;
|
||||
errorState := lsOff;
|
||||
|
||||
{ Error lights blink twice as fast }
|
||||
if (FBlinkCounter in [0, 1]) then
|
||||
warningState := lsAmber;
|
||||
|
||||
if (FBlinkCounter in [0, 2]) then
|
||||
errorState := lsRed;
|
||||
|
||||
if StateMap.FindFirst([lsWarning, lsError], ledIndex, state) then
|
||||
begin
|
||||
BeginUpdate;
|
||||
try
|
||||
repeat
|
||||
case state of
|
||||
lsWarning:
|
||||
if StateMap.GetState(ledIndex) <> warningState then
|
||||
LEDStateChanged(ledIndex, warningState);
|
||||
|
||||
lsError:
|
||||
if StateMap.GetState(ledIndex) <> errorState then
|
||||
LEDStateChanged(ledIndex, errorState);
|
||||
end;
|
||||
until not StateMap.FindNext([lsWarning, lsError], ledIndex, state);
|
||||
finally
|
||||
EndUpdate;
|
||||
end;
|
||||
end else
|
||||
StopBlinkTimer;
|
||||
end;
|
||||
|
||||
|
||||
{ TRunInMainThreadSetLEDs }
|
||||
constructor TRunInMainThreadSetLEDs.Create(ADevice: IDirectInputDevice8; ARed, AGreen: Byte);
|
||||
begin
|
||||
|
@ -10,12 +10,12 @@ uses
|
||||
|
||||
type
|
||||
TLEDState = (lsOff, lsGreen, lsAmber, lsRed, lsWarning, lsError);
|
||||
TLEDStateSet = set of TLEDState;
|
||||
|
||||
|
||||
TLEDFunctionMap = class(TObject)
|
||||
private
|
||||
FFunctions: TX2IIHash;
|
||||
protected
|
||||
function Find(AFunction: Integer; out ALEDIndex: Integer): Boolean;
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
@ -43,6 +43,10 @@ type
|
||||
|
||||
function GetState(ALEDIndex: Integer; ADefault: TLEDState = lsGreen): TLEDState;
|
||||
function SetState(ALEDIndex: Integer; AState: TLEDState): Boolean;
|
||||
|
||||
function HasStates(AStates: TLEDStateSet): Boolean;
|
||||
function FindFirst(AStates: TLEDStateSet; out ALEDIndex: Integer; out AState: TLEDState): Boolean;
|
||||
function FindNext(AStates: TLEDStateSet; out ALEDIndex: Integer; out AState: TLEDState): Boolean;
|
||||
end;
|
||||
|
||||
|
||||
@ -108,21 +112,14 @@ end;
|
||||
function TLEDFunctionMap.FindFirst(AFunction: Integer; out ALEDIndex: Integer): Boolean;
|
||||
begin
|
||||
FFunctions.First;
|
||||
Result := Find(AFunction, ALEDIndex);
|
||||
Result := FindNext(AFunction, ALEDIndex);
|
||||
end;
|
||||
|
||||
|
||||
function TLEDFunctionMap.FindNext(AFunction: Integer; out ALEDIndex: Integer): Boolean;
|
||||
begin
|
||||
Result := Find(AFunction, ALEDIndex);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
function TLEDFunctionMap.Find(AFunction: Integer; out ALEDIndex: Integer): Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
|
||||
while FFunctions.Next do
|
||||
begin
|
||||
if FFunctions.CurrentValue = AFunction then
|
||||
@ -177,4 +174,37 @@ begin
|
||||
FStates[ALEDIndex] := Ord(AState);
|
||||
end;
|
||||
|
||||
|
||||
function TLEDStateMap.HasStates(AStates: TLEDStateSet): Boolean;
|
||||
var
|
||||
ledIndex: Integer;
|
||||
state: TLEDState;
|
||||
|
||||
begin
|
||||
Result := FindFirst(AStates, ledIndex, state);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
function TLEDStateMap.FindFirst(AStates: TLEDStateSet; out ALEDIndex: Integer; out AState: TLEDState): Boolean;
|
||||
begin
|
||||
FStates.First;
|
||||
Result := FindNext(AStates, ALEDIndex, AState);
|
||||
end;
|
||||
|
||||
|
||||
function TLEDStateMap.FindNext(AStates: TLEDStateSet; out ALEDIndex: Integer; out AState: TLEDState): Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
|
||||
while FStates.Next do
|
||||
if TLEDState(FStates.CurrentValue) in AStates then
|
||||
begin
|
||||
ALEDIndex := FStates.CurrentKey;
|
||||
AState := TLEDState(FStates.CurrentValue);
|
||||
Result := True;
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
@ -3,6 +3,7 @@ unit LEDStateConsumer;
|
||||
interface
|
||||
uses
|
||||
OtlComm,
|
||||
OtlCommon,
|
||||
OtlTaskControl,
|
||||
|
||||
LEDFunctionMap,
|
||||
@ -17,16 +18,18 @@ const
|
||||
MSG_PROCESS_MESSAGES = 5;
|
||||
MSG_FINALIZE = 6;
|
||||
|
||||
MSG_RUN_IN_MAINTHREAD = 7;
|
||||
MSG_PROVIDER_KILLED = 7;
|
||||
MSG_RUN_IN_MAINTHREAD = 8;
|
||||
|
||||
MSG_CONSUMER_OFFSET = MSG_RUN_IN_MAINTHREAD;
|
||||
|
||||
TIMER_PROCESSMESSAGES = 1;
|
||||
TIMER_CONSUMER_OFFSET = TIMER_PROCESSMESSAGES;
|
||||
|
||||
|
||||
type
|
||||
{ This interface name made me giggle. Because it's true. }
|
||||
IRunInMainThread = interface
|
||||
IRunInMainThread = interface(IOmniWaitableValue)
|
||||
['{68B8F2F7-ED40-4078-9D99-503D7AFA068B}']
|
||||
procedure Execute;
|
||||
end;
|
||||
@ -40,6 +43,7 @@ type
|
||||
FTimerSet: Boolean;
|
||||
FChanged: Boolean;
|
||||
FUpdateCount: Integer;
|
||||
FDestroying: Boolean;
|
||||
protected
|
||||
procedure MsgClearFunctions(var msg: TOmniMessage); message MSG_CLEAR_FUNCTIONS;
|
||||
procedure MsgSetFunction(var msg: TOmniMessage); message MSG_SET_FUNCTION;
|
||||
@ -53,7 +57,7 @@ type
|
||||
procedure InitializeProvider(AProviderClass: TLEDStateProviderClass);
|
||||
procedure FinalizeProvider;
|
||||
|
||||
procedure RunInMainThread(AExecutor: IRunInMainThread);
|
||||
procedure RunInMainThread(AExecutor: IRunInMainThread; AWait: Boolean = False);
|
||||
procedure InitializeLEDState; virtual;
|
||||
procedure ResetLEDState; virtual;
|
||||
procedure LEDStateChanged(ALEDIndex: Integer; AState: TLEDState); virtual;
|
||||
@ -63,6 +67,7 @@ type
|
||||
function GetFunctionMap: TLEDFunctionMap;
|
||||
procedure SetStateByFunction(AFunction: Integer; AState: TLEDState);
|
||||
|
||||
property Destroying: Boolean read FDestroying;
|
||||
property FunctionMap: TLEDFunctionMap read GetFunctionMap;
|
||||
property StateMap: TLEDStateMap read FStateMap;
|
||||
property Provider: TLEDStateProvider read FProvider;
|
||||
@ -72,22 +77,20 @@ type
|
||||
|
||||
procedure BeginUpdate;
|
||||
procedure EndUpdate;
|
||||
|
||||
class procedure ClearFunctions(AConsumer: IOmniTaskControl);
|
||||
class procedure SetFunction(AConsumer: IOmniTaskControl; ALEDIndex, AFunction: Integer);
|
||||
class procedure InitializeStateProvider(AConsumer: IOmniTaskControl; AProviderClass: TLEDStateProviderClass);
|
||||
class procedure FinalizeStateProvider(AConsumer: IOmniTaskControl);
|
||||
class procedure Finalize(AConsumer: IOmniTaskControl);
|
||||
end;
|
||||
|
||||
|
||||
procedure ClearFunctions(AConsumer: IOmniTaskControl);
|
||||
procedure SetFunction(AConsumer: IOmniTaskControl; ALEDIndex, AFunction: Integer);
|
||||
procedure InitializeStateProvider(AConsumer: IOmniTaskControl; AProviderClass: TLEDStateProviderClass);
|
||||
procedure FinalizeStateProvider(AConsumer: IOmniTaskControl);
|
||||
procedure Finalize(AConsumer: IOmniTaskControl);
|
||||
|
||||
|
||||
implementation
|
||||
uses
|
||||
SysUtils,
|
||||
Windows,
|
||||
|
||||
OtlCommon;
|
||||
Windows;
|
||||
|
||||
|
||||
const
|
||||
@ -103,8 +106,6 @@ begin
|
||||
FStateMap := TLEDStateMap.Create;
|
||||
|
||||
InitializeLEDState;
|
||||
|
||||
|
||||
end;
|
||||
|
||||
|
||||
@ -189,6 +190,12 @@ begin
|
||||
BeginUpdate;
|
||||
try
|
||||
Provider.ProcessMessages;
|
||||
|
||||
if Provider.Terminated then
|
||||
begin
|
||||
FinalizeProvider;
|
||||
Task.Comm.Send(MSG_PROVIDER_KILLED, '');
|
||||
end;
|
||||
finally
|
||||
EndUpdate;
|
||||
end;
|
||||
@ -197,7 +204,9 @@ end;
|
||||
|
||||
procedure TLEDStateConsumer.MsgFinalize(var msg: TOmniMessage);
|
||||
begin
|
||||
FDestroying := True;
|
||||
FinalizeProvider;
|
||||
Task.Terminate;
|
||||
end;
|
||||
|
||||
|
||||
@ -206,16 +215,23 @@ begin
|
||||
FinalizeProvider;
|
||||
|
||||
FProvider := AProviderClass.Create(Self);
|
||||
// ToDo exception handling
|
||||
Provider.Initialize;
|
||||
try
|
||||
Provider.Initialize;
|
||||
|
||||
if Provider.ProcessMessagesInterval > -1 then
|
||||
begin
|
||||
Task.SetTimer(TIMER_PROCESSMESSAGES, Provider.ProcessMessagesInterval, MSG_PROCESS_MESSAGES);
|
||||
FTimerSet := True;
|
||||
if Provider.ProcessMessagesInterval > -1 then
|
||||
begin
|
||||
Task.SetTimer(TIMER_PROCESSMESSAGES, Provider.ProcessMessagesInterval, MSG_PROCESS_MESSAGES);
|
||||
FTimerSet := True;
|
||||
end;
|
||||
|
||||
InitializeLEDState;
|
||||
except
|
||||
on E:Exception do
|
||||
begin
|
||||
FProvider := nil;
|
||||
Task.Comm.Send(MSG_PROVIDER_KILLED, E.Message);
|
||||
end;
|
||||
end;
|
||||
|
||||
InitializeLEDState;
|
||||
end;
|
||||
|
||||
|
||||
@ -239,20 +255,11 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
procedure TLEDStateConsumer.RunInMainThread(AExecutor: IRunInMainThread);
|
||||
var
|
||||
value: TOmniWaitableValue;
|
||||
|
||||
procedure TLEDStateConsumer.RunInMainThread(AExecutor: IRunInMainThread; AWait: Boolean);
|
||||
begin
|
||||
value := TOmniWaitableValue.Create;
|
||||
try
|
||||
value.Value.AsInterface := AExecutor;
|
||||
Task.Comm.Send(MSG_RUN_IN_MAINTHREAD, value);
|
||||
|
||||
value.WaitFor(INFINITE);
|
||||
finally
|
||||
FreeAndNil(value);
|
||||
end;
|
||||
Task.Comm.Send(MSG_RUN_IN_MAINTHREAD, AExecutor);
|
||||
if AWait then
|
||||
AExecutor.WaitFor(INFINITE);
|
||||
end;
|
||||
|
||||
|
||||
@ -312,31 +319,32 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
class procedure TLEDStateConsumer.ClearFunctions(AConsumer: IOmniTaskControl);
|
||||
{ Helpers }
|
||||
procedure ClearFunctions(AConsumer: IOmniTaskControl);
|
||||
begin
|
||||
AConsumer.Comm.Send(MSG_CLEAR_FUNCTIONS);
|
||||
end;
|
||||
|
||||
|
||||
class procedure TLEDStateConsumer.SetFunction(AConsumer: IOmniTaskControl; ALEDIndex, AFunction: Integer);
|
||||
procedure SetFunction(AConsumer: IOmniTaskControl; ALEDIndex, AFunction: Integer);
|
||||
begin
|
||||
AConsumer.Comm.Send(MSG_SET_FUNCTION, [ALEDIndex, AFunction]);
|
||||
end;
|
||||
|
||||
|
||||
class procedure TLEDStateConsumer.InitializeStateProvider(AConsumer: IOmniTaskControl; AProviderClass: TLEDStateProviderClass);
|
||||
procedure InitializeStateProvider(AConsumer: IOmniTaskControl; AProviderClass: TLEDStateProviderClass);
|
||||
begin
|
||||
AConsumer.Comm.Send(MSG_INITIALIZE_PROVIDER, Pointer(AProviderClass));
|
||||
end;
|
||||
|
||||
|
||||
class procedure TLEDStateConsumer.FinalizeStateProvider(AConsumer: IOmniTaskControl);
|
||||
procedure FinalizeStateProvider(AConsumer: IOmniTaskControl);
|
||||
begin
|
||||
AConsumer.Comm.Send(MSG_FINALIZE_PROVIDER);
|
||||
end;
|
||||
|
||||
|
||||
class procedure TLEDStateConsumer.Finalize(AConsumer: IOmniTaskControl);
|
||||
procedure Finalize(AConsumer: IOmniTaskControl);
|
||||
begin
|
||||
AConsumer.Comm.Send(MSG_FINALIZE);
|
||||
end;
|
||||
|
@ -9,15 +9,7 @@ uses
|
||||
LEDFunctionMap;
|
||||
|
||||
type
|
||||
EInitializeError = class(Exception)
|
||||
private
|
||||
FExitCode: Integer;
|
||||
public
|
||||
constructor Create(const Msg: string; ExitCode: Integer = 0);
|
||||
|
||||
property ExitCode: Integer read FExitCode write FExitCode;
|
||||
end;
|
||||
|
||||
EInitializeError = class(Exception);
|
||||
|
||||
ILEDStateConsumer = interface
|
||||
['{6E630C92-7C5C-4D16-8BED-AE27559FA584}']
|
||||
@ -53,7 +45,14 @@ type
|
||||
end;
|
||||
|
||||
TLEDStateProviderClass = class of TLEDStateProvider;
|
||||
|
||||
|
||||
|
||||
const
|
||||
EXIT_SUCCESS = 0;
|
||||
EXIT_ERROR = 1;
|
||||
|
||||
EXIT_CONSUMER_OFFSET = 100;
|
||||
EXIT_PROVIDER_OFFSET = 200;
|
||||
|
||||
implementation
|
||||
|
||||
@ -99,13 +98,4 @@ begin
|
||||
Result := -1;
|
||||
end;
|
||||
|
||||
|
||||
{ EInitializeError }
|
||||
constructor EInitializeError.Create(const Msg: string; ExitCode: Integer);
|
||||
begin
|
||||
inherited Create(Msg);
|
||||
|
||||
FExitCode := ExitCode;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
@ -66,11 +66,11 @@ begin
|
||||
LogiJoystickDLLHandle := LoadLibrary(LogiJoystickDLLFileName);
|
||||
if LogiJoystickDLLHandle <> 0 then
|
||||
begin
|
||||
@SetButtonColor := GetProcAddress(LogiJoystickDLLHandle, 'LJ_SetButtonColor');
|
||||
@SetAllButtonsColor := GetProcAddress(LogiJoystickDLLHandle, 'LJ_SetAllButtonsColor');
|
||||
@IsButtonColor := GetProcAddress(LogiJoystickDLLHandle, 'LJ_IsButtonColor');
|
||||
@SetLEDs := GetProcAddress(LogiJoystickDLLHandle, 'LJ_SetLEDs');
|
||||
@GetLEDs := GetProcAddress(LogiJoystickDLLHandle, 'LJ_GetLEDs');
|
||||
@SetButtonColor := GetProcAddress(LogiJoystickDLLHandle, 'SetButtonColor');
|
||||
@SetAllButtonsColor := GetProcAddress(LogiJoystickDLLHandle, 'SetAllButtonsColor');
|
||||
@IsButtonColor := GetProcAddress(LogiJoystickDLLHandle, 'IsButtonColor');
|
||||
@SetLEDs := GetProcAddress(LogiJoystickDLLHandle, 'SetLEDs');
|
||||
@GetLEDs := GetProcAddress(LogiJoystickDLLHandle, 'GetLEDs');
|
||||
end;
|
||||
end;
|
||||
|
||||
|
@ -672,8 +672,8 @@ var
|
||||
SimConnect_AddToDataDefinition: function(
|
||||
hSimConnect: THandle;
|
||||
DefineID: SIMCONNECT_DATA_DEFINITION_ID;
|
||||
DatumName: string;
|
||||
UnitsName: string;
|
||||
DatumName: AnsiString;
|
||||
UnitsName: AnsiString;
|
||||
DatumType: SIMCONNECT_DATAType = SIMCONNECT_DATAType_FLOAT64;
|
||||
fEpsilon: Single = 0;
|
||||
DatumID: DWORD = SIMCONNECT_UNUSED
|
||||
@ -685,13 +685,13 @@ var
|
||||
|
||||
SimConnect_FlightLoad: function(
|
||||
hSimConnect: THandle;
|
||||
const szFileName: PChar
|
||||
const szFileName: PAnsiChar
|
||||
): HRESULT; StdCall;
|
||||
|
||||
SimConnect_FlightSave: function(
|
||||
hSimConnect: THandle;
|
||||
const szFileName: PChar;
|
||||
const szDescription: PChar;
|
||||
const szFileName: PAnsiChar;
|
||||
const szDescription: PAnsiChar;
|
||||
Flags: DWORD
|
||||
): HRESULT; StdCall;
|
||||
|
||||
@ -703,7 +703,7 @@ var
|
||||
|
||||
SimConnect_Open: function(
|
||||
var phSimConnect: THandle;
|
||||
szName: PChar;
|
||||
szName: PAnsiChar;
|
||||
hWnd: HWnd;
|
||||
UserEventWin32: DWORD;
|
||||
hEventHandle: THandle;
|
||||
@ -755,14 +755,14 @@ var
|
||||
SimConnect_MapClientEventToSimEvent: function(
|
||||
hSimConnect: THandle;
|
||||
EventID: SIMCONNECT_CLIENT_EVENT_ID;
|
||||
EventName: string = ''
|
||||
EventName: AnsiString = ''
|
||||
): HRESULT; StdCall;
|
||||
|
||||
SimConnect_MapInputEventToClientEvent: function(
|
||||
hSimConnect: THandle;
|
||||
GroupID:
|
||||
SIMCONNECT_INPUT_GROUP_ID;
|
||||
const szInputDefinition: PChar;
|
||||
const szInputDefinition: PAnsiChar;
|
||||
DownEventID: SIMCONNECT_CLIENT_EVENT_ID;
|
||||
DownValue: DWORD = 0;
|
||||
UpEventID: SIMCONNECT_CLIENT_EVENT_ID = Ord(SIMCONNECT_UNUSED);
|
||||
@ -780,8 +780,8 @@ var
|
||||
SimConnect_RetrieveString: function(
|
||||
pData: PSimConnectRecv;
|
||||
cbData: Cardinal;
|
||||
pStringV: PChar;
|
||||
var pszString: PChar;
|
||||
pStringV: PAnsiChar;
|
||||
var pszString: PAnsiChar;
|
||||
var pcbString: Cardinal
|
||||
): HRESULT; StdCall;
|
||||
|
||||
@ -820,7 +820,7 @@ var
|
||||
|
||||
SimConnect_MenuAddItem: function(
|
||||
hSimConnect: THandle;
|
||||
const szMenuItem: PChar;
|
||||
const szMenuItem: PAnsiChar;
|
||||
MenuEventID: SIMCONNECT_CLIENT_EVENT_ID;
|
||||
dwData: Cardinal
|
||||
): HRESULT; StdCall;
|
||||
@ -828,9 +828,9 @@ var
|
||||
SimConnect_RequestReservedKey: function(
|
||||
hSimConnect: THandle;
|
||||
EventID: SIMCONNECT_CLIENT_EVENT_ID;
|
||||
szKeyChoice1: string;
|
||||
szKeyChoice2: string;
|
||||
szKeyChoice3: string
|
||||
szKeyChoice1: AnsiString;
|
||||
szKeyChoice2: AnsiString;
|
||||
szKeyChoice3: AnsiString
|
||||
): HRESULT; StdCall;
|
||||
|
||||
SimConnect_TransmitClientEvent: function(
|
||||
@ -852,20 +852,20 @@ var
|
||||
SimConnect_WeatherRequestObservationAtStation: function(
|
||||
hSimConnect: THandle;
|
||||
RequestID: SIMCONNECT_DATA_REQUEST_ID;
|
||||
const szICAO: PChar
|
||||
const szICAO: PAnsiChar
|
||||
): HRESULT; StdCall;
|
||||
|
||||
SimConnect_AICreateSimulatedObject: function(
|
||||
hSimConnect: THandle;
|
||||
const szContainerTitle: PChar;
|
||||
const szContainerTitle: PAnsiChar;
|
||||
InitPos: SIMCONNECT_DATA_INITPOSITION;
|
||||
RequestID: SIMCONNECT_DATA_REQUEST_ID
|
||||
): HRESULT; StdCall;
|
||||
|
||||
SimConnect_AICreateNonATCAircraft: function(
|
||||
hSimConnect: THandle;
|
||||
const szContainerTitle: PChar;
|
||||
const szTailNumber: PChar;
|
||||
const szContainerTitle: PAnsiChar;
|
||||
const szTailNumber: PAnsiChar;
|
||||
InitPos: SIMCONNECT_DATA_INITPOSITION;
|
||||
RequestID: SIMCONNECT_DATA_REQUEST_ID
|
||||
): HRESULT; StdCall;
|
||||
@ -873,30 +873,30 @@ var
|
||||
SimConnect_AISetAircraftFlightPlan: function(
|
||||
hSimConnect: THandle;
|
||||
ObjectID: SIMCONNECT_OBJECT_ID;
|
||||
const szFlightPlanPath: PChar;
|
||||
const szFlightPlanPath: PAnsiChar;
|
||||
RequestID: SIMCONNECT_DATA_REQUEST_ID
|
||||
): HRESULT; StdCall;
|
||||
|
||||
SimConnect_AICreateParkedATCAircraft: function(
|
||||
hSimConnect: THandle;
|
||||
const szContainerTitle: PChar;
|
||||
const szTailNumber: PChar;
|
||||
const szAirportID: PChar;
|
||||
const szContainerTitle: PAnsiChar;
|
||||
const szTailNumber: PAnsiChar;
|
||||
const szAirportID: PAnsiChar;
|
||||
RequestID: SIMCONNECT_DATA_REQUEST_ID
|
||||
): HRESULT; StdCall;
|
||||
|
||||
SimConnect_SubscribeToSystemEvent: function(
|
||||
hSimConnect: THandle;
|
||||
EventID: SIMCONNECT_CLIENT_EVENT_ID;
|
||||
const SystemEventName: PChar
|
||||
const SystemEventName: PAnsiChar
|
||||
): HRESULT; StdCall;
|
||||
|
||||
SimConnect_AICreateEnrouteATCAircraft: function(
|
||||
hSimConnect: THandle;
|
||||
const szContainerTitle: PChar;
|
||||
const szTailNumber: PChar;
|
||||
const szContainerTitle: PAnsiChar;
|
||||
const szTailNumber: PAnsiChar;
|
||||
iFlightNumber: Integer;
|
||||
const szFlightPlanPath: PChar;
|
||||
const szFlightPlanPath: PAnsiChar;
|
||||
dFlightPlanPosition: Double;
|
||||
bTouchAndGo: Bool;
|
||||
RequestID: SIMCONNECT_DATA_REQUEST_ID
|
||||
@ -905,15 +905,15 @@ var
|
||||
SimConnect_RequestSystemState: function(
|
||||
hSimConnect: THandle;
|
||||
RequestID: SIMCONNECT_DATA_REQUEST_ID;
|
||||
const szState: PChar
|
||||
const szState: PAnsiChar
|
||||
): HRESULT; StdCall;
|
||||
|
||||
SimConnect_SetSystemState: function(
|
||||
hSimConnect: THandle;
|
||||
const szState: PChar;
|
||||
const szState: PAnsiChar;
|
||||
dwInteger: Cardinal;
|
||||
fFloat: Single;
|
||||
const szString: PChar
|
||||
const szString: PAnsiChar
|
||||
): HRESULT; StdCall;
|
||||
|
||||
SimConnect_GetLastSentPacketID: function(
|
||||
@ -924,7 +924,7 @@ var
|
||||
SimConnect_MenuAddSubItem: function(
|
||||
hSimConnect: THandle;
|
||||
MenuEventID: SIMCONNECT_CLIENT_EVENT_ID;
|
||||
const szMenuItem: PChar;
|
||||
const szMenuItem: PAnsiChar;
|
||||
SubMenuEventID: SIMCONNECT_CLIENT_EVENT_ID;
|
||||
dwData: Cardinal
|
||||
): HRESULT; StdCall;
|
||||
@ -942,7 +942,7 @@ var
|
||||
): HRESULT; StdCall;
|
||||
|
||||
SimConnect_FlightPlanLoad: function(hSimConnect: THandle; const szFileName:
|
||||
PChar): HRESULT; StdCall;
|
||||
PAnsiChar): HRESULT; StdCall;
|
||||
|
||||
// BEWARE!!!!!
|
||||
// Unlike the C version these must not pass the GUID as a "const"
|
||||
@ -989,7 +989,7 @@ var
|
||||
SimConnect_RemoveInputEvent: function(
|
||||
hSimConnect: THandle;
|
||||
GroupID: SIMCONNECT_INPUT_GROUP_ID;
|
||||
const szInputDefinition: PChar
|
||||
const szInputDefinition: PAnsiChar
|
||||
): HRESULT; StdCall;
|
||||
|
||||
SimConnect_ClearInputGroup: function(
|
||||
@ -1013,8 +1013,8 @@ var
|
||||
SimConnect_WeatherCreateStation: function(
|
||||
hSimConnect: THandle;
|
||||
RequestID: SIMCONNECT_DATA_REQUEST_ID;
|
||||
const szICAO: PChar;
|
||||
const szName: PChar;
|
||||
const szICAO: PAnsiChar;
|
||||
const szName: PAnsiChar;
|
||||
lat: Single;
|
||||
lon: Single;
|
||||
alt: Single
|
||||
@ -1023,13 +1023,13 @@ var
|
||||
SimConnect_WeatherRemoveStation: function(
|
||||
hSimConnect: THandle;
|
||||
RequestID: SIMCONNECT_DATA_REQUEST_ID;
|
||||
const szICAO: PChar
|
||||
const szICAO: PAnsiChar
|
||||
): HRESULT; StdCall;
|
||||
|
||||
SimConnect_WeatherSetObservation: function(
|
||||
hSimConnect: THandle;
|
||||
Seconds: Cardinal;
|
||||
const szMETAR: PChar
|
||||
const szMETAR: PAnsiChar
|
||||
): HRESULT; StdCall;
|
||||
|
||||
SimConnect_WeatherSetModeServer: function(
|
||||
@ -1040,7 +1040,7 @@ var
|
||||
|
||||
SimConnect_WeatherSetModeTheme: function(
|
||||
hSimConnect: THandle;
|
||||
const szThemeName: PChar
|
||||
const szThemeName: PAnsiChar
|
||||
): HRESULT; StdCall;
|
||||
|
||||
SimConnect_WeatherSetModeGlobal: function(
|
||||
@ -1104,16 +1104,16 @@ var
|
||||
): HRESULT; StdCall;
|
||||
|
||||
SimConnect_InsertString: function(
|
||||
pDest: PChar;
|
||||
pDest: PAnsiChar;
|
||||
cbDest: Cardinal;
|
||||
var ppEnd: Pointer;
|
||||
var pcbStringV: Cardinal;
|
||||
const pSource: PChar
|
||||
const pSource: PAnsiChar
|
||||
): HRESULT; StdCall;
|
||||
|
||||
SimConnect_MapClientDataNameToID: function(
|
||||
hSimConnect: THandle;
|
||||
const szClientDataName: PChar;
|
||||
const szClientDataName: PAnsiChar;
|
||||
ClientDataID: SIMCONNECT_CLIENT_DATA_ID
|
||||
): HRESULT; StdCall;
|
||||
|
||||
@ -1407,7 +1407,7 @@ function InitSimConnectFromLibrary(Name: string): boolean;
|
||||
begin
|
||||
Result := False;
|
||||
CloseSimConnect;
|
||||
ScHandle := LoadLibrary(Pchar(Name));
|
||||
ScHandle := LoadLibrary(PChar(Name));
|
||||
if ScHandle <> 0 then
|
||||
begin
|
||||
LoadProcAddresses;
|
||||
|
Loading…
Reference in New Issue
Block a user