Browse Source

CH: Many bug fixes (cpu, display, etc)

Jean-Francois Goulet 20 years ago
parent
commit
b4d779bf8a

+ 272 - 160
LuaEdit/About.dfm

@@ -1,11 +1,11 @@
 object frmAbout: TfrmAbout
 object frmAbout: TfrmAbout
-  Left = 320
-  Top = 189
+  Left = 407
+  Top = 214
   BorderIcons = [biSystemMenu]
   BorderIcons = [biSystemMenu]
   BorderStyle = bsSingle
   BorderStyle = bsSingle
   Caption = 'About LuaEdit'
   Caption = 'About LuaEdit'
-  ClientHeight = 305
-  ClientWidth = 409
+  ClientHeight = 342
+  ClientWidth = 396
   Color = clWhite
   Color = clWhite
   Font.Charset = DEFAULT_CHARSET
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
   Font.Color = clWindowText
@@ -16,164 +16,18 @@ object frmAbout: TfrmAbout
   OldCreateOrder = False
   OldCreateOrder = False
   Position = poOwnerFormCenter
   Position = poOwnerFormCenter
   OnShow = FormShow
   OnShow = FormShow
+  DesignSize = (
+    396
+    342)
   PixelsPerInch = 96
   PixelsPerInch = 96
   TextHeight = 13
   TextHeight = 13
-  object imgLuaLogo: TImage
-    Left = 312
-    Top = 8
-    Width = 88
-    Height = 88
-    Cursor = crHandPoint
-    Picture.Data = {
-      0A544A504547496D6167655D110000FFD8FFE000104A46494600010100000100
-      010000FFDB00430006040506050406060506070706080A100A0A09090A140E0F
-      0C1017141818171416161A1D251F1A1B231C1616202C20232627292A29191F2D
-      302D283025282928FFDB0043010707070A080A130A0A13281A161A2828282828
-      2828282828282828282828282828282828282828282828282828282828282828
-      28282828282828282828282828FFC00011080080008003012200021101031101
-      FFC4001D000001050101010100000000000000000000040506070809030201FF
-      C400441000010303010505030808030900000000010203040005110607122131
-      410813516171142281152332374291A1B1526272747582B3C117339224343843
-      5694A2C2D1FFC4001A0101000203010000000000000000000000000306020405
-      01FFC40031110002010303030105070500000000000000010203041105213112
-      134151142232A1B10623344271C1D161728191F0FFDA000C0301000211031100
-      3F00D534514500514514014514500514DAFDD92DDC9309B8739F73290A71B64F
-      76807A959C0FBB26BEAE8F5CDB52136C8719F041DE53D20B6127A700939A01C2
-      8A4935C9C88695438EC3B2B86F36E3A509F3C2B74FE55F8C49922DCA7E6C32DB
-      E80A258657DE938E5BA70324D00B28A436ABA31724B8594486D6D1016DBECA9B
-      5249F250E3F0A5D40145346AAD4B68D296776E77F9CD43868E1BCBE254AE894A
-      47151E1C8551F70ED4B606A5A9106C373911C1C77AE3886C9F309E3F89AD9A16
-      95ABACD38E51E3925C9A1E8AAF766BB5DD2FAF9CF66B5C87235C82778C296908
-      7081CCA704850F439F102AC2A8AA529D2974CD6184F3C051451519E8514536B4
-      BB93D797379088F6D606E8DEC297214403BC3F4523978939E5D4021DD5336E4F
-      C68B1DE5B0C652E4A2375BDF071B89CF151E792380C73A18B3456AE6BB82CBCF
-      CB24EE2DE70ABBA07ECA07248F419A72A8C6BAD77A7B4441127515C1B614B04B
-      4C27DF79DFD940E27D790EA6B2842537D315963824F4564BD63DA82EB25C719D
-      276A620B1C84899F3AE91E212084A7D0EF555D74DAF6BDB9AD4A91AA6E48CF48
-      CB0C0FB900575E968971359962246EA23A0B45739D9DA16B265CDF6F55DF42BF
-      7F74FF00ED529B06DE75FD9DC1BD79170687FCA9CCA5C07F98615F8D493D06B2
-      5EEC933CEEA377D36DAED0DDB1E74C59127D996384671CDF43673CD39C91E99C
-      79551BA07B4CD9AE6E3717574155A1F51C7B5324BAC13E63E923FF0021E26AFD
-      813235C21B32E048664C5793BEDBAD2C2D0B1E208E04572ABDAD5B778AB1C122
-      927C186FB48EB195A9F69371885D57C9D697150E3B40FBA14938715EA540F1F0
-      00555553ADB8D8A469FDA9EA38D210A4A5F96B96CA8F2536EA8AC11F791EA0D4
-      16AEF6918C6841438C235A5C8A2DB3A55B27C79B6F7DC8F2E3B81D69D6CE1485
-      039045744F66BA8CEADD0B65BE29212ECB8E14E84F20E0252BC796F035CE415D
-      09D8958E469DD9669DB6CD416E4A23F7AE215CD0A714A70A4F98DEC7C2B91AF4
-      63DB84BCE7E5FF0060929724DE8A2BCA5B8E3515E71968BCEA105486C100AC81
-      C071F1AAB9308AE6DCF7E7C16A2AFB8869577B21E046F2B77186C0F02799F018
-      EB4E548ACADCA6AD51937177BE99B99755803DE3C4818E83381E42A2DB60D72C
-      680D172AEAB087262FE661B2A3FE63C41C67C860A8F90C75ACE9D39549284796
-      1BC115DBBED8E36818A6D768EEE56A479190857144549E4B58EA4F44FC4F0E78
-      B6F977B85F6E6FDC6F131E9935F3BCB79D56547CBC87801C074AF3BADC65DDAE
-      5267DC5F5C89925C2EBAEACE4AD44F13496AED63630B48616F2F2CD6949C828A
-      28ADE310A70B0D92E5A82E2DC0B241913A62F8A5A6105471D49F01E678537819
-      381C4D6FFD89ECFE1E83D1B163A5947CAD29B4BB39F23DE538467733FA29CE00
-      F53CC9AD0D42F959C13C65BE0CA11EA665C6FB3C6D09517BE36D8897319EE4CC
-      6F7FF3C7E35E3A2F586B2D8AEA3F61BA4294D425AB79FB6CAC84389EAB6D5C40
-      3FAC9C83D735BAAA23B51D0F6FD79A5255AE736812024AE24823DE61DC70503E
-      04E011D4570E1AC3AAFB77314E2C93B78DD114D51A5F4A6DDF45C2BA41925A90
-      94911E6A120BB1D5F69A713D403CD39F3078E4D1170ECCFAD5896A6E2BF6994C
-      67DD7448523879A4A723E19A62D876BF95B36D6EA8D7252D36892EFB35C19278
-      36A077438078A4F3F1191E15BB1B5A5C4256DA8290A194A927208F115956AB71
-      A5CBB74DE60F8C8494F7667DD92F6758DA76E6C5DF57CB62E5358505B311849E
-      E10B1C42945401591D0600F5AD074DB3A44B8F77B7A50D9720BFBED3BBA824B6
-      BC652A27F478287A914E55C8B8B9A9732EBA8F248925C0536CF9725178B6448C
-      8CB4F1716FACA49094253C067A12A527E00D395218F700FDE26C04B647B336D2
-      CB9BDCCAF7B863CB77F1A80F45D58AFB586AC5DF36886D0CB84C1B3361909078
-      1794029C3EBF453FCA6B6938B0DB6A5A8E1291927CAB9A5A8EE4BBC6A0B9DCDD
-      254E4C92E48513E2A5157F7AEEE85454AACAA3FCABEA4555ED81BA8A92ECF745
-      DCB5DEA0167B33915B95DD2DEDE92B2946EA719E20139E23A5345FAD6FD92F77
-      0B5CC2DAA4C27D71DC2D92525485149C12070C8F0AB3AA9172E84F721C0868A2
-      8ACC1EB0DD0C4B65E29DE0DAD2B23C70735D33B6CD62E56E8B3622C391E4B497
-      9B58E4A4A8641FB8D731EAFCD83EDD53A46DEDE9FD54879FB4367FD9A534379C
-      8C09FA253F6919E231C4798C01C7D62CE771052A7BB8F833A7249EE6C4AF975C
-      434D2DC754942100A94A51C0007326A028DB2ECFD717DA06A9801BC67077C2FF
-      00D18DEFC2A8CDB8EDFD9BF5AA4D834507D10E424B72A7B892853883CD0DA798
-      07A93838C8C75AAEDBE9F5EB4FA7A5AFEAD1339A450FAB273573D53799F1FF00
-      C99535E7D1FB2A714A1F81AD9DD97F562F52ECD23C694E15CDB42FD8965478A9
-      B032D9FF0049DDFE5AC395A1BB185D54CEB0BEDA8A886E5424BF8E854DAC0FC9
-      C3565D5A8295ABC7E521A6FDE35A4E71D6A148723A038F21B5290827014A00E0
-      7DF5E7699A8B8DAE24D6F8224349740F0C8CE295523B5CD666B2F18C85212C3C
-      B8E524018521441C63A70AA69B02CA4719F88E5CA6B2CA5225B496FBF2118241
-      077727AF5F4A5948DA8B199BA489085E25496D01692AE69467040FE6E7E9407C
-      DF778D96E1DDFD3F67731EBBA6B99B5D3F5A42D0A4A8652A1823C45734F545AD
-      765D4975B5BA9295C394EB0411FA2A23FB558FECFC97DE47F4FDC86AF82D6EC8
-      DF5B49FDC1FF00CD155F6D4FEB2F567F1595FD555583D91BEB693FB83FF9A2AB
-      EDA9FD65EACFE2B2BFAAAAEA53FC6CFF00B57D4C1FC245EA62E6CF6E88D9AB5A
-      DCC885F25B8FFB386B795DF6F6F14E71BB8C6478D43AB40CBFF83C83FC4CFF00
-      5D7535D55952E8E9F3248F22B3928AB25B9DBBDE605B6329097E6486E3B6A592
-      1214B5048271D3269E3683A3E7E86D4AF592EAF467A534843857194A5230A191
-      C5401FC2BE7671F585A5FF008A45FEB26A7FDAA55B9B659CA290AC478E70AE47
-      DCEB495592B88D3F0D37F3431B643486C1350DE6C4CDE2EF70B7582DEFA429A3
-      39642D493C41DDE4011E241F2AF3D6FB07BFE9DD3EF5F2DF3EDD7BB5B092B757
-      0D6779081CD5BA78103AE0923C319A74D4969DA96DA3E4DB8BBA7931EDEC35BB
-      19293ECCC104E77C25C5E4E4606470C015666C636797AD09A575AB1A86642519
-      908A930187BBC2DE10E02B50E433903873C79573AA5E55A4BAE55239CFC2BF5F
-      5E4CD453DB0642ABA7B236F7F8B1EEE702DEFEF7A651FDF154B5689EC5F6953D
-      AAEFD7629F9B8D0D31C2B1F69C5857E4D9FBEB7B51928DACDBF43187C46B7A47
-      6C4424264FC9E50429F597B7559F9DCFBD9F039E94B2915A6DE9B732F369714E
-      175F71F529431C56A2AC7C338F85514D916D37CBB777F78B7CF43810A8C9710A
-      1BB9EF10B03867A714A4FC29C293DCA209D6F93154B5B61E6D48DF412149C8E6
-      08EA2805158C3B5A692559B5F22F6C37885786C2C903825F400958F88DD57C4D
-      6C6B626526DD193702DAA5A5B01D5367292AC7123D6A33B56D13175EE8D99679
-      052DC83F3B15F50CF72F273BAAF43920F9135BDA75D7B2D7537C3D998CE39465
-      7EC8FF005B29FDC1FF00CD15EBAFB627AFAEBAE350DC2058BBD892AE0FBECAFD
-      A991BC8538A20E0AF23811CEAAF0EEA0D09A965B0CBF2ED3788A551DD2D2CA16
-      9F1191CC1C039E4460D3A7F8A5AEBFEADBD7FDD2BFFB5699D1ADDE75E8B58692
-      DF3FB1026B186395E362DAF6CF6A9972B8D8FB98511A53CF39ED4CAB75091927
-      01793C3C2AD0D396599AB7B271B7581BF6CB8439CB7171DBE2B3BAE951481D55
-      BAA040EBD2A969FB46D637084FC39DA9AECFC57D05B75A724A8A5692304119E2
-      0D25D1BAD750E8D94EBFA6AE8FC153B8EF109C290E6396F2140A4FAE295685C5
-      582EA6BA934D738DBD426913AD8BECE2FAFEB9B65CEF56D956AB35AA4225C995
-      39A5309F7140A503780C92A0070E59A90EDC13057DA5E026F1B9F2729E8024EF
-      FD1EEFDDDECF9639F9556FAAF6A5ACB5521A6EF57C90EB2D389750D3494B280B
-      49C8510803241E2339C546AF779B8DF6E0B9D799B2274C580953CFACAD440180
-      32691B6AD3ABDDAAD2D9AC21949611A27B4FB1AFA46AF6E3DA59BCB9A70B0811
-      DBB721C2D9563DFDF08FB59E5BDD318EB4EFD9DF41DFB4FE99D5B2EFB1D71A6D
-      DA16E4684EFF00BC29294AFDF52798C950001E3E9C334958F6CFAF6C96C45BE0
-      EA178C66D210D879A6DE5200E4029692703D69B2DBB4AD5F6ED4EEEA162FB295
-      7675BEE5C79EC3814DE73B852A053BB9E2063874AD6F62B8EC76174A4BCEFBE3
-      D7D3E665D4B3922D36248832571A6B0EC790DE02DA75050A49C750788ADC5D99
-      B492B4BECCA23B29B289D7557B6BA1438A52A003693FCA01C78A8D501B1FD257
-      5DB06D1646A1D50B322DEC3A8767BE5B084BEB00043202401C4019C7248F122B
-      6B2404A425200006001D2B4F5ABBCC55BF9E5FF07B4E3E44F746E43B6D94DC35
-      213256D292D2967002883827E35FB6D8A20DBA2C54A8A830D25BDE3CCE063349
-      642273B7D89B854DDBD96D4E384287CEB87DD4A08E78032AF5C79D3955749828
-      A28A01B66479A2EF12544777A3E0B52185AB09DDE6169FD60787983E54E54536
-      C183261DCE5AC4A2EC07F2E069CC9534E13C774FE81E78E87970A02BADB8EC82
-      16D0A0FB6412DC3D44C2375A7C8F75E48E4DB98E9E0AE63CC70AC55A974FDD34
-      CDD9EB65F613D0E6B47DE6DC1CC78A4F2503D08C8AE94B2EB6F369719710E36A
-      E4A41C83F1A64D61A3EC5AC2DDEC5A8ADCCCC6867714A185B64F542C7149F43E
-      B5D7B0D5656CBB73DE3F344728677473768AD35ACBB2DBE971C7B47DE90B6F9A
-      635C06EA8790712307E291EB5575D761DB42B73842F4EBD210392E2BADBA0FC0
-      2B3F8559296A16D5566335FE76FA91383456D454D9AD93EBC717BA9D297607F5
-      98291F79E1529B07677D7B745A7DAE1C4B5B44FD3972124E3F651BC7EFC5492B
-      BA105994D7FB3CE96CA82ACBD90EC8AF5B419ADBFB8B836142BE7A72D3C158E6
-      96C1FA4AFC075F03A0340F66ED376471B95A91F72F92D3821A527BB8E0FEC649
-      57C4E0F855E31D86A330DB319A432CB6909436DA425290390007215C6BCD6E29
-      38DBF3EBFC12469FA8DBA534EDB74AD8A2DA2C91931E1474E1291C4A8F5528F5
-      513C49A5776765336F7976F603F2F186D0A56E8DE271927C0733D70294B8A210
-      BEEC0538064249C64F4E3D290D923CD663ADCBA490F4A795BEA4A3836D70C042
-      3AE06399E24E4F9556A5272797C930A60B4EB30D86E4BE643E9400B748037D58
-      E2703957BD14578028A28A00A28A280416FB4C5B7CA90F424AD94BFEF2D94ABE
-      6F7BAA8279027AE39D7C5B6E8A9529D8B2214A8925B0558713942D39C652B194
-      9E9C381F2A72A28028A6D6ECB0D9B999EC079A7D4A2A7021E5843848C7BC8CEE
-      9FBA89F0EE2F4B4BB0EE82332000595474B80F1E2739078D00E58A2915D23CE9
-      086C5BE7221A81F7D4A603BBC3C0648C57EB909C7ED822C996F970A405BEC9EE
-      96A23A8C72CF9500A5E710CB2B75C3BADA1254A3E0073A456AB926E8DBCB623C
-      A658180DBAF37B9DE67AA41E38F502BDADB6F8F6D8E598A1C082A2B5171C538A
-      528F324A8934AA806EB45A58B6075685BAFCA7882F48795BCE38472C9E400E80
-      600A71A28A00A28A280FFFD9}
-    Proportional = True
-    OnClick = imgLuaLogoClick
-  end
   object Image1: TImage
   object Image1: TImage
     Left = 8
     Left = 8
     Top = 8
     Top = 8
-    Width = 289
-    Height = 89
+    Width = 382
+    Height = 81
     Cursor = crHandPoint
     Cursor = crHandPoint
+    AutoSize = True
     Picture.Data = {
     Picture.Data = {
       0A544A504547496D616765052A0000FFD8FFE000104A46494600010200006400
       0A544A504547496D616765052A0000FFD8FFE000104A46494600010200006400
       640000FFEC00114475636B7900010004000000640000FFEE002641646F626500
       640000FFEC00114475636B7900010004000000640000FFEE002641646F626500
@@ -514,13 +368,270 @@ object frmAbout: TfrmAbout
       67D7574AFA595DFEFF0071207D15D02BFB9FFFD9}
       67D7574AFA595DFEFF0071207D15D02BFB9FFFD9}
     Proportional = True
     Proportional = True
     Stretch = True
     Stretch = True
+    Transparent = True
     OnClick = Image1Click
     OnClick = Image1Click
   end
   end
+  object Image2: TImage
+    Left = 82
+    Top = 83
+    Width = 60
+    Height = 50
+    Cursor = crHandPoint
+    AutoSize = True
+    Picture.Data = {
+      0B544A76474946496D616765C60700004749463839613C003200F70000000000
+      DFE6E0416C41527852567C56567B565B7E5B6285626C8B6C769376799679849F
+      8487A187839C83829B828FA68F9AB29A8EA48E99B09994AA949FB69F9BB19BA7
+      BCA7A1B4A1A5B7A5ABBDABA7B9A7B1C3B1AABBAAB3C4B3BAC9BAB6C5B6B9C7B9
+      C2CEC2CAD5CAC5D0C5D4DED4CED8CED9E2D9D3DCD3D1DAD1D7DFD7E0E7E0DFE6
+      DFE6ECE6E8EDE8EFF3EFECF0ECEBEFEBF4F7F4F2F5F2F0F3F0EFF2EFF9FBF9FB
+      FCFBF7F8F70D4E0B185D16196017185B161E711C1C681A1B6119195E18195817
+      1E691C1D651B237821257E2320691E2780251D5C1B1F601D1C591B2E8D2B2165
+      1F2F8D2C236A21308F2D31912E3BA538399F36205C1F2565231F571E23612223
+      5E22245E23235922266025265B25275C26285B272A5E292D612C2C5D2B2E5F2D
+      30622F3465333668353A69393866373967383F6B3E4B744A527A515D805C6586
+      646889676E8F6D6B8B6A7293711F721C1E6D1B1F6F1C22771F21731E22751F24
+      7A21216E1E2372202B88282A84272B86282E8B2A2D8A2A31922D2B822831912D
+      2D882A2D872A32932E2E892B1F5C1D35993134963033942F379C333AA33639A0
+      35379A333CA5373BA4373AA136399F353DA8393EA8393CA6383FAC3B3EA93A3E
+      A7393DA63940AD3C3FAA3B276425255B237D997C99AE9898AD97B0C0AFBCCABB
+      C0CEBFBFCCBEBDCABCE2E8E1F1F4F0FFFFFFFEFEFEFDFDFDFBFBFBF8F8F8F7F7
+      F7F4F4F4F3F3F3F0F0F0EEEEEEEDEDEDEAEAEAE9E9E9E7E7E7E5E5E5E2E2E2DD
+      DDDDDADADAD8D8D8D7D7D7D5D5D5D2D2D2CDCDCDC7C7C7C5C5C5C3C3C3C0C0C0
+      BEBEBEB8B8B8B4B4B4B2B2B2AFAFAFADADADABABABA9A9A9A7A7A7A4A4A4A3A3
+      A39E9E9E9C9C9C9A9A9A9696969494949393939090908D8D8D8B8B8B89898986
+      86868585858383838181817F7F7F7A7A7A787878777777757575737373717171
+      6D6D6D6A6A6A6969696767676464646161615E5E5E5A5A5A5151514F4F4F4D4D
+      4D4949494747474545454242424141413E3E3E3C3C3C3B3B3B3535353333332D
+      2D2D2A2A2A2525251C1C1C1B1B1B1414140C0C0C030303000000FFFFFF2C0000
+      00003C0032004008FF004D091C48B0A0C18308132A5CC8D0860220802849BA44
+      B1A2458A952411D9B481A147841F96348A74F192A4220658101C11664FA69292
+      0C8D91F1F1238C3087265E2489A74B47549C92087A5992921D36359312D40046
+      CE223B6B0EB6C03948079A1303555068610182050A2E16BA02204E203100C3B2
+      017847ED9740586405B662B70D1CBA59E9A885FBF66ADE396DD9F2559BF54E16
+      3C7AC4B441E3C52EDA3A64B0DC79E3860F96D2CB98337B9421024384060B267C
+      3261433366540586502A6991246B8A247F74328DD00D91D5AD154D1981D0011C
+      DCAD9B64A07D9084962744612FB22282208338952E52AA3380B8F5EB0587F103
+      D00F403753C9F8F5FFDB07C05EAD5600C60974E54E5BB773B6E25123D7ED95BC
+      56A66C9833172B1EAA6BD998D20D34C2CC138D3BC5C402CF36DFD8130B761042
+      48C20152C0E187229150A26125934092470F5E301056840879020424D1BDA622
+      257D70811589A6ACA11A6B9254E2841C4504310423C9EDE483061126300770B0
+      491284270811A0079197440245131F40F8401C3D5294091F66C060D007853CE2
+      5A459128A2C98BD885D0A54E16550208193499020A128E7C59D19565D000A340
+      0DEC90086E9508812441A71460C46A19E6818528A658D0860A109810CA7077A2
+      20410C089150410BD761535E3B00C0834A319D9A830F00C7A80280394AF9628A
+      2AC5A802CC3BBBFCFFB20B42ABD4330B4163912310A8C80884CA2DD378874A5C
+      A60873CE40CCCC031836B8BCB38A29B3C453432BF19C428D35A66C13CD37E800
+      A68C35D8ACFACEAD77966BEEB9E89A2B4202665451441C3CF010C71259A0F1C0
+      0AE91A54C116742C42492591C8198925995472880F023497AE023940C2A48A4D
+      52C2071551965B021688A408F16B46A171038CA31CE1089A1755C26186245B94
+      091362BC10610B5E1892729350DC5146031C5C80C0267F544911254444252595
+      256512C8193318348A1451C8D9A4982840681B9361EE865003BF951449131C40
+      2824D5950431014269E851A5934D800021084B40E1F42595DC3140000479F005
+      213E4B72C84C11BAFF31248D91ECD0F5296BC081C96B93F8002984A7A851C7C3
+      99C8C1C940379CA184C6B041F1C305E55E004422C965B2071AA50D44C215907C
+      49C91E60A460C20930A022500D112E0084129950C24817A418748110916412C9
+      105D8022100B1598F2C6026F30700A892BB461050E1D20D4060E624CF0F14035
+      9472430CA5B9407BBEE5A2E24C3BF36CF3A029C8B4534F3AC698B28A38BD5EE6
+      4A38AE98A24C39DFC47F902AD2C0CF4058B10F7A3C6B1B00E8C539F8413B5730
+      0B3D6511C82B9AC18C5BC5C219C840452A6E518B605C431FC960452E4C810D6C
+      D58216A6E0C53354650A5814431785C1557A76058062B4C21BF9000000EA910B
+      56100B18EB788B32ABD2410B5DE08317F7B0852958F10E53B4421EABF8463862
+      B18D6778031BB460863A9EA1AB58388820AAB8873E78218B75002017CD88872E
+      50D10B005CC30633340510D7D30CF5982215B1B88F2962418F54B0421EA80097
+      29B8018D6FD4EF14D0D0D52BEEB13E82E0221AD500C6401E998D663C8855B312
+      882C9EF18C5A98C216D268C62B52F18B54088415CB80852F4E718B5B984217AE
+      04C63486413B59246317BA7816F976C94B530404003B}
+    Proportional = True
+    Transparent = True
+    OnClick = Image2Click
+  end
+  object imgLuaLogo: TImage
+    Left = 8
+    Top = 69
+    Width = 64
+    Height = 64
+    Cursor = crHandPoint
+    AutoSize = True
+    Picture.Data = {
+      0B544A76474946496D6167657B06000047494638396140004000F7FB00FFFFFF
+      FF8F8FFF7F00EFEFF7EF8F8FDFDFEFDF8F8FCFCFE7CF8F8FCF7F00BFBFDFBF8F
+      8FBF7F00AFAFD7AF8F8FAF7F009F9FCF9F8F8F9F7F008F8FC78F8F8F8F7F0080
+      8F8F8080BF807F00708F8F707F007070B7608F8F607F006060AF508F8F507F00
+      5050A7408F8F407F0040409F308F8F307F00303097208F8F207F0020208F108F
+      8F107F0010108700FFFF00FFC700FFBF00FFAF00FFA300FFA000FF9F00FF9000
+      FF8F00FF8C00FF8000FF7A00FF7000FF6000FF5C00FF5800FF5000FF4000FF34
+      00FF2C00FF2400FF2000FF1900FF1800FF1400FF1000FF0000FE1000FE0000FD
+      2000FD0000FC8F00FC5000FC0000FBFF00FB9F00FB0000FA8F00FA5800FA1800
+      FA0000F90000F8BF00F89000F88F00F82000F80000F7FF00F75000F48F00F320
+      00F31000F30000F25800F10000F00000EF8F00EF2000EF0000ED8000ED0000EB
+      BF00EB0000EA2000EA0000E80000E78000E70000E6D700E60000E40000E32000
+      E30000E20000E10000DFFF00DFEF00DF0000DE0000DD9000DD8F00DD2000DD10
+      00DAE300DAC000DA8F00DA2000DA0800DA0000D82000D80000D78F00D70000D5
+      1100D4FF00D4DF00D45000D43C00D40000D20000D10000CF3600CF0000CE0000
+      CD0000CA8F00CA0000C8CF00C80000C70000C29F00C20000BF8F00BF1000B900
+      00AC0000A8DF00A81800A30000A20000A0BF00A0A0009C00009A000099000098
+      AF00970000960000950000941000940000930000927000920000918F00910000
+      90FF009000008F10008D8F008D34008C00008BFF008500008200008000007F00
+      007EBF007E00007D00007B0000780000718F006C00006B000069000068000066
+      00006300006200006060005C5C005C00005620005500005400004C000049C000
+      4920004830004400003000002F00002C40002C00002B10002B000028300027FF
+      002720002440001C1C001818001200001030001020000C000007000003FF0003
+      600000FF0000EF0000DF0000CF0000BF0000AF00009F00009000008F00008000
+      007F000050000034000020000010000000C0C0C000000000000000000021F904
+      010000FC002C00000000400040004008FF00F9091C48B0A0C18308132A5CC850
+      2085060E1D086C108122050A032354D42830020488031BD81B49B2A407861434
+      5234B8A1A4CB9730EDD5B3A702248998F5401EACE870608B98404B2A0040B4A8
+      51A22537146CA093E1899743834A9D6A6F4243844F8502884902C005AD232700
+      3830E14208150014B8BC5030C2D5832AA8CA2579D2A0DBB708EFE26DD874AF5F
+      7E1A2360247891E3DFBD6E5742D44BF08287132766D23C41C203048413A6D65D
+      D840A2C096734B9E1870B42868153B13EA652A30736898624B132DF053F45BC6
+      FCB28285D9F52BC9A8F62E0080F0B38558912E2F1F1668F282F3E7CEE92A50D0
+      D2836F7B1E1A2880E0C15E880BB53767FF5CBE34EE6B994A0FAE24CF50654290
+      3CD9CB1F383824EEF97E0763BCBBBE6747C0FE8574D33A23A9C0965F81FDD7D1
+      7D0BDDA7195F6E0556DF67B585464253E601A5DC4E77DD77D379237DD7C0041E
+      54B8A107285AC6904E8CE9F69A07B219855C556F3570D184FC7C086255311655
+      804B7DF52590038215E656082F51769E07051435007831F5C5E0412E8E04DC4B
+      06EA88DD75D869A7C004199664154153F6C5A5955BF1E6D56E24A950190469B9
+      84DA6D064986260978E679135A03ECD90052F60CD0A73D2D78409A5A74FDE5E1
+      8E726D78188E0355C9687AF8D1B7D006248449523D27A858E95E42E2D5DFA7A4
+      96BA9C90A19A9A5F5BA9AAAA5A871D35FF35D84A901604C198F345C8544AFCCC
+      CAD8603C4568EBA62591405E7C188D8A126E5AC224AAAE80B5AA906104B91694
+      78AAF1D38005117AD698A430152AE4830AC18710049A86B64E08039DE9D2090D
+      45F81041CD8268A772DDBD2B6D46173555AF5C273469D400F9DAE3E86D852DC5
+      A8C0317E086F5BE5EAA5176820FED923000390D40282D45A0BE25017A739D2C3
+      641E54DF8415827842C86762ABDEBCBD0E5430A32D587C5401E0DAC51944925E
+      F95A0B2480BB69AD0DF52C32A341E13AD1554673B5E66F69B6704069F5E23825
+      6E33A3E93497C09D00254971BA441E544717FBB4D6235D409A518892C42E99A9
+      2A4B31DA2F75656D0B808E6576DB84CA583733C8A58D046751D3A5299C511008
+      5A92CE0D1AE42ED230CDA9285C900345E978A2525E79A28C238650D6E7A970B0
+      82CB4DC9CF04FFC6D4C2E506ED5BAA8D13C47E15B595DA58A9E9A40AE63AC4AE
+      72DC21EEBD07DF5040003B}
+    Proportional = True
+    Transparent = True
+    OnClick = imgLuaLogoClick
+  end
+  object Image3: TImage
+    Left = 152
+    Top = 101
+    Width = 32
+    Height = 32
+    Cursor = crHandPoint
+    AutoSize = True
+    Picture.Data = {
+      055449636F6E0000010001002020000001001800A80C00001600000028000000
+      20000000400000000100180000000000800C0000000000000000000000000000
+      0000000000000000000000000000000080808000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000808080C0C0C0808080C0C0C0808080C0
+      C0C0808080C0C0C0808080C0C0C0808080C0C0C0808080C0C0C0808080C0C0C0
+      808080C0C0C0808080C0C0C0808080808080FFFFFF0000000000000000000000
+      0000000000000000000080808000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000008080808080800000000000000000
+      00000000000000000000808080808080C0C0C0808080C0C0C0808080C0C0C080
+      8080C0C0C0808080C0C0C0808080C0C0C0808080C0C0C0808080C0C0C0808080
+      C0C0C0808080C0C0C0FFFFFFC0C0C08080800000008080800000000000000000
+      0000000000000080808000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000000808080808080C0C0C0FFFFFFC0C0C08080800000008080800000000000
+      00000000000000808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      000000000000808080808080C0C0C0FFFFFFC0C0C08080800000000000000000
+      00000000000000808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      000000C0C0C0000000808080808080C0C0C0FFFFFF0000008080800000000000
+      00000000000000000000808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      000000C0C0C0C0C0C0000000808080808080C0C0C08080800000000000000000
+      00000000000000000000808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      000000FFFFFFC0C0C0C0C0C00000008080808080800000008080800000000000
+      00000000000000000000808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      000000C0C0C0FFFFFFC0C0C0C0C0C00000008080808080800000000000000000
+      00000000000000000000000000808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      000000FFFFFFC0C0C0FFFFFFC0C0C0C0C0C00000000000008080800000000000
+      00000000000000000000000000808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      0000000000000000000000000000000000000000008080800000000000000000
+      00000000000000000000000000808080FFFFFFFFFFFFFFFFFFC0C0C0808000FF
+      FFFFC0C0C0FFFFFFC0C0C0808000C0C0C0808000FFFFFFFFFFFFC0C0C0808000
+      FFFFFFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFF8080800000008080800000000000
+      00000000000000000000000000808080FFFFFFFFFFFFFFFFFF808000C0C0C0FF
+      FFFF808000808000FFFFFFFFFFFFFFFFFF808000FFFFFF808000FFFFFF808000
+      FFFFFF808000808000FFFFFFFFFFFFFFFFFF0000008080800000000000000000
+      00000000000000000000000000808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8080800000008080800000000000
+      00000000000000000000000000808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000008080800000000000000000
+      00000000000000000000000000808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8080800000008080800000000000
+      00000000000000000000000000808080FFFFFFFFFFFFFFFFFF808000C0C0C0C0
+      C0C0FFFFFF808000FFFFFFC0C0C0808000C0C0C0FFFFFF808000808000C0C0C0
+      FFFFFFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFF0000008080800000000000000000
+      00000000000000000000000000808080FFFFFFFFFFFFFFFFFF808000FFFFFFFF
+      FFFF808000FFFFFFC0C0C0FFFFFFFFFFFF808000FFFFFFC0C0C0FFFFFF808000
+      FFFFFF808000FFFFFFFFFFFFFFFFFFFFFFFF8080800000008080800000000000
+      00000000000000000000000000808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000008080800000000000000000
+      00000000000000000000000000808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8080800000008080800000000000
+      00000000000000000000000000808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000008080800000000000000000
+      00000000000000000000000000808080FFFFFFFFFFFFFFFFFFC0C0C0C0C0C080
+      8000FFFFFF808000FFFFFF808000C0C0C0C0C0C0808000FFFFFFC0C0C0808000
+      FFFFFF808000FFFFFFFFFFFFFFFFFFFFFFFF8080800000008080800000000000
+      00000000000000000000000000808080FFFFFFFFFFFFFFFFFF808000FFFFFFFF
+      FFFFFFFFFFFFFFFF808000FFFFFFFFFFFFFFFFFFFFFFFF808000FFFFFF808000
+      FFFFFFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFF0000008080800000000000000000
+      00000000000000000000000000808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8080800000008080800000000000
+      00000000000000000000000000808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+      FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000008080800000000000000000
+      00000000000000000000000000000080FFFFFF0000FFFFFFFF0000FFFFFFFF00
+      00FFFFFFFF0000FFFFFFFF0000FFFFFFFF0000FFFFFFFF0000FFFFFFFF0000FF
+      FFFFFF0000FFFFFFFF0000FFFFFFFF0000FF8080800000008080800000000000
+      000000000000000000000000000080800000FF00FFFF0000FF00FFFF0000FF00
+      FFFF0000FF00FFFF0000FF00FFFF0000FF00FFFF0000FF00FFFF0000FF00FFFF
+      0000FF00FFFF0000FF00FFFF0000FF00FFFF0000008080800000000000000000
+      00000000000000000000000000000080FFFFFF0000FFFFFFFF0000FFFFFFFF00
+      00FFFFFFFF0000FFFFFFFF0000FFFFFFFF0000FFFFFFFF0000FFFFFFFF0000FF
+      FFFFFF0000FFFFFFFF0000FFFFFFFF0000FF0080800000008080800000000000
+      000000000000000000000000000080800000FF00FFFF0000FF00FFFF0000FF00
+      FFFF0000FF00FFFF0000FF00FFFF0000FF00FFFF0000FF00FFFF0000FF00FFFF
+      0000FF00FFFF0000FF00FFFF0000FF00FFFF0000800080800000000000000000
+      00000000000000000000000000000080FFFFFF0000FFFFFFFF0000FFFFFFFF00
+      00FFFFFFFF0000FFFFFFFF0000FFFFFFFF0000FFFFFFFF0000FFFFFFFF0000FF
+      FFFFFF0000FFFFFFFF0000FFFFFFFF0000FFFFFFFF0000808080800000000000
+      0000000000000000000000000000000000008000808000008000808000008000
+      8080000080008080000080008080000080008080000080008080000080008080
+      0000800080800000800080800000800080800000800080800000000000000000
+      00000000F000001FF000000FC0000007C0000007800000078000000780000007
+      C0000007C0000007C0000007E0000007E0000007E0000007E0000007E0000007
+      E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007
+      E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007
+      F0000007}
+    Proportional = True
+    Transparent = True
+    OnClick = Image3Click
+  end
   object btnClose: TButton
   object btnClose: TButton
-    Left = 325
-    Top = 272
+    Left = 312
+    Top = 307
     Width = 75
     Width = 75
     Height = 25
     Height = 25
+    Anchors = [akRight, akBottom]
     Cancel = True
     Cancel = True
     Caption = '&Close'
     Caption = '&Close'
     Default = True
     Default = True
@@ -529,9 +640,10 @@ object frmAbout: TfrmAbout
   end
   end
   object GroupBox1: TGroupBox
   object GroupBox1: TGroupBox
     Left = 8
     Left = 8
-    Top = 104
-    Width = 393
+    Top = 136
+    Width = 380
     Height = 161
     Height = 161
+    Anchors = [akLeft, akTop, akRight]
     Caption = 'Product Description'
     Caption = 'Product Description'
     TabOrder = 1
     TabOrder = 1
     object lblVersion: TLabel
     object lblVersion: TLabel

+ 15 - 1
LuaEdit/About.pas

@@ -4,7 +4,7 @@ interface
 
 
 uses
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
-  Dialogs, StdCtrls, jpeg, ExtCtrls, ShellAPI;
+  Dialogs, StdCtrls, jpeg, ExtCtrls, ShellAPI, JvGIF;
 
 
 type
 type
   TfrmAbout = class(TForm)
   TfrmAbout = class(TForm)
@@ -24,12 +24,16 @@ type
     Image1: TImage;
     Image1: TImage;
     Label10: TLabel;
     Label10: TLabel;
     Label1: TLabel;
     Label1: TLabel;
+    Image2: TImage;
+    Image3: TImage;
     procedure imgLuaLogoClick(Sender: TObject);
     procedure imgLuaLogoClick(Sender: TObject);
     procedure btnCloseClick(Sender: TObject);
     procedure btnCloseClick(Sender: TObject);
     procedure FormShow(Sender: TObject);
     procedure FormShow(Sender: TObject);
     procedure Label7Click(Sender: TObject);
     procedure Label7Click(Sender: TObject);
     procedure Image1Click(Sender: TObject);
     procedure Image1Click(Sender: TObject);
     procedure Label1Click(Sender: TObject);
     procedure Label1Click(Sender: TObject);
+    procedure Image3Click(Sender: TObject);
+    procedure Image2Click(Sender: TObject);
   private
   private
     { Private declarations }
     { Private declarations }
   public
   public
@@ -92,4 +96,14 @@ begin
   ShellExecute(Self.Handle, 'open', 'mailto:[email protected]?subject=LuaEdit Support...', nil, nil, SW_SHOWNORMAL);
   ShellExecute(Self.Handle, 'open', 'mailto:[email protected]?subject=LuaEdit Support...', nil, nil, SW_SHOWNORMAL);
 end;
 end;
 
 
+procedure TfrmAbout.Image3Click(Sender: TObject);
+begin
+  ShellExecute(Self.Handle, 'open', 'http://luaedit.luaforge.net', nil, nil, SW_SHOWNORMAL);
+end;
+
+procedure TfrmAbout.Image2Click(Sender: TObject);
+begin
+  ShellExecute(Self.Handle, 'open', 'http://opensource.org/index.php', nil, nil, SW_SHOWNORMAL);
+end;
+
 end.
 end.

+ 10 - 10
LuaEdit/CntString.dfm

@@ -4,8 +4,8 @@ object frmCntString: TfrmCntString
   BorderIcons = [biSystemMenu]
   BorderIcons = [biSystemMenu]
   BorderStyle = bsSingle
   BorderStyle = bsSingle
   Caption = 'Connection String'
   Caption = 'Connection String'
-  ClientHeight = 161
-  ClientWidth = 443
+  ClientHeight = 156
+  ClientWidth = 444
   Color = clBtnFace
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
   Font.Color = clWindowText
@@ -45,8 +45,8 @@ object frmCntString: TfrmCntString
   object Panel1: TPanel
   object Panel1: TPanel
     Left = 0
     Left = 0
     Top = 0
     Top = 0
-    Width = 443
-    Height = 120
+    Width = 444
+    Height = 115
     Align = alClient
     Align = alClient
     BevelOuter = bvNone
     BevelOuter = bvNone
     TabOrder = 0
     TabOrder = 0
@@ -57,10 +57,10 @@ object frmCntString: TfrmCntString
       Height = 52
       Height = 52
       Caption = 
       Caption = 
         'The following string has been copied in your clipboard. Use it t' +
         'The following string has been copied in your clipboard. Use it t' +
-        'o launch the remote debugger on the remote computer. To do so, u' +
-        'se a command window (Start Menu/Execute --> type cmd) move into ' +
-        'the folder where you previously copied "rdbg.exe" and paste the ' +
-        'line. Press Ok whenever you are ready...'
+        'o launch the remote debugger on the remote machine. To do so, us' +
+        'e a command window (Start Menu/Execute --> type cmd) move into t' +
+        'he folder where you previously copied "rdbg.exe" and paste the l' +
+        'ine. Press Ok whenever you are ready...'
       WordWrap = True
       WordWrap = True
     end
     end
     object memoCntString: TMemo
     object memoCntString: TMemo
@@ -76,8 +76,8 @@ object frmCntString: TfrmCntString
   end
   end
   object Panel2: TPanel
   object Panel2: TPanel
     Left = 0
     Left = 0
-    Top = 120
-    Width = 443
+    Top = 115
+    Width = 444
     Height = 41
     Height = 41
     Align = alBottom
     Align = alBottom
     BevelOuter = bvNone
     BevelOuter = bvNone

+ 1 - 1
LuaEdit/CntString.pas

@@ -35,7 +35,7 @@ begin
   closesocket(pSock);
   closesocket(pSock);
   closesocket(pRSock);
   closesocket(pRSock);
   WSACleanup;
   WSACleanup;
-  TerminateThread(ThreadDebugHandle, 0);
+  //TerminateThread(ThreadDebugHandle, 0);
   Screen.Cursor := crDefault;
   Screen.Cursor := crDefault;
 end;
 end;
 
 

+ 3 - 3
LuaEdit/Connecting.pas

@@ -35,7 +35,7 @@ begin
   closesocket(pSock);
   closesocket(pSock);
   closesocket(pRSock);
   closesocket(pRSock);
   WSACleanup;
   WSACleanup;
-  TerminateThread(ThreadDebugHandle, 0);
+  //TerminateThread(ThreadDebugHandle, 0);
   Screen.Cursor := crDefault;
   Screen.Cursor := crDefault;
 end;
 end;
 
 
@@ -55,13 +55,13 @@ begin
     btnCancel.Click;
     btnCancel.Click;
   end;
   end;
 
 
-  if WaitForSingleObject(hMutex, 30) <> WAIT_TIMEOUT then
+  {if WaitForSingleObject(hMutex, 30) <> WAIT_TIMEOUT then
   begin
   begin
     // A connection has been made so we close this form and start debugging
     // A connection has been made so we close this form and start debugging
     ReleaseMutex(hMutex);
     ReleaseMutex(hMutex);
     tmrTimeOut.Enabled := False;
     tmrTimeOut.Enabled := False;
     Self.Close;
     Self.Close;
-  end;
+  end;}
 end;
 end;
 
 
 procedure TfrmConnecting.FormShow(Sender: TObject);
 procedure TfrmConnecting.FormShow(Sender: TObject);

+ 3 - 3
LuaEdit/EditorSettings.dfm

@@ -120,7 +120,7 @@ object frmEditorSettings: TfrmEditorSettings
       Top = 0
       Top = 0
       Width = 492
       Width = 492
       Height = 375
       Height = 375
-      ActivePage = TabSheet1
+      ActivePage = stabGeneral
       Align = alClient
       Align = alClient
       TabOrder = 0
       TabOrder = 0
       object stabGeneral: TTabSheet
       object stabGeneral: TTabSheet
@@ -299,7 +299,7 @@ object frmEditorSettings: TfrmEditorSettings
             Width = 161
             Width = 161
             Height = 17
             Height = 17
             Caption = 'Save Breakpoints'
             Caption = 'Save Breakpoints'
-            TabOrder = 1
+            TabOrder = 5
           end
           end
           object chkShowExSaveDlg: TCheckBox
           object chkShowExSaveDlg: TCheckBox
             Left = 16
             Left = 16
@@ -315,7 +315,7 @@ object frmEditorSettings: TfrmEditorSettings
             Width = 225
             Width = 225
             Height = 17
             Height = 17
             Caption = 'Keep Find in Files Report Opened'
             Caption = 'Keep Find in Files Report Opened'
-            TabOrder = 5
+            TabOrder = 1
           end
           end
         end
         end
       end
       end

+ 0 - 4
LuaEdit/FunctionList.dfm

@@ -76,11 +76,7 @@ object frmFunctionList: TfrmFunctionList
     end
     end
   end
   end
   object JvDockClient1: TJvDockClient
   object JvDockClient1: TJvDockClient
-    LRDockWidth = 100
-    TBDockHeight = 100
     DirectDrag = False
     DirectDrag = False
-    ShowHint = True
-    EnableCloseButton = True
     DockStyle = frmMain.jvDockVSNet
     DockStyle = frmMain.jvDockVSNet
     Left = 8
     Left = 8
     Top = 40
     Top = 40

+ 3 - 3
LuaEdit/LuaEdit.dof

@@ -113,9 +113,9 @@ RootDir=
 IncludeVerInfo=1
 IncludeVerInfo=1
 AutoIncBuild=1
 AutoIncBuild=1
 MajorVer=2
 MajorVer=2
-MinorVer=4
+MinorVer=5
 Release=1
 Release=1
-Build=945
+Build=950
 Debug=0
 Debug=0
 PreRelease=0
 PreRelease=0
 Special=0
 Special=0
@@ -126,7 +126,7 @@ CodePage=1252
 [Version Info Keys]
 [Version Info Keys]
 CompanyName=Open Source
 CompanyName=Open Source
 FileDescription=IDE for Lua 5.0.2
 FileDescription=IDE for Lua 5.0.2
-FileVersion=2.4.1.945
+FileVersion=2.5.1.950
 InternalName=LuaEdit
 InternalName=LuaEdit
 LegalCopyright=LuaEdit Copyright 2004-2005 ©
 LegalCopyright=LuaEdit Copyright 2004-2005 ©
 LegalTrademarks=
 LegalTrademarks=

BIN
LuaEdit/LuaEdit.res


+ 25 - 16
LuaEdit/LuaGlobals.dfm

@@ -1,7 +1,7 @@
 object frmLuaGlobals: TfrmLuaGlobals
 object frmLuaGlobals: TfrmLuaGlobals
   Left = 481
   Left = 481
   Top = 239
   Top = 239
-  Width = 440
+  Width = 434
   Height = 188
   Height = 188
   BorderStyle = bsSizeToolWin
   BorderStyle = bsSizeToolWin
   Caption = 'Lua Globals'
   Caption = 'Lua Globals'
@@ -19,28 +19,37 @@ object frmLuaGlobals: TfrmLuaGlobals
   Position = poOwnerFormCenter
   Position = poOwnerFormCenter
   PixelsPerInch = 96
   PixelsPerInch = 96
   TextHeight = 13
   TextHeight = 13
-  object tvwLuaGlobals: TTreeView
+  object vstGlobals: TVirtualStringTree
     Left = 0
     Left = 0
     Top = 0
     Top = 0
-    Width = 432
-    Height = 154
+    Width = 426
+    Height = 161
     Align = alClient
     Align = alClient
-    Font.Charset = ANSI_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -11
-    Font.Name = 'Arial'
-    Font.Style = []
-    Indent = 19
-    ParentFont = False
-    SortType = stText
+    Header.AutoSizeIndex = 1
+    Header.Font.Charset = DEFAULT_CHARSET
+    Header.Font.Color = clWindowText
+    Header.Font.Height = -11
+    Header.Font.Name = 'MS Sans Serif'
+    Header.Font.Style = []
+    Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoVisible]
     TabOrder = 0
     TabOrder = 0
+    TreeOptions.MiscOptions = [toAcceptOLEDrop, toFullRepaintOnResize, toInitOnSave, toReportMode, toToggleOnDblClick, toWheelPanning]
+    OnGetText = vstGlobalsGetText
+    OnGetNodeDataSize = vstGlobalsGetNodeDataSize
+    Columns = <
+      item
+        Position = 0
+        Width = 100
+        WideText = 'Name'
+      end
+      item
+        Position = 1
+        Width = 322
+        WideText = 'Value'
+      end>
   end
   end
   object JvDockClient1: TJvDockClient
   object JvDockClient1: TJvDockClient
-    LRDockWidth = 100
-    TBDockHeight = 100
     DirectDrag = False
     DirectDrag = False
-    ShowHint = True
-    EnableCloseButton = True
     DockStyle = frmMain.jvDockVSNet
     DockStyle = frmMain.jvDockVSNet
     Left = 24
     Left = 24
     Top = 16
     Top = 16

+ 31 - 2
LuaEdit/LuaGlobals.pas

@@ -4,12 +4,14 @@ interface
 
 
 uses
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
-  Dialogs, ComCtrls, JvComponent, JvDockControlForm;
+  Dialogs, ComCtrls, JvComponent, JvDockControlForm, VirtualTrees, LuaUtils;
 
 
 type
 type
   TfrmLuaGlobals = class(TForm)
   TfrmLuaGlobals = class(TForm)
     JvDockClient1: TJvDockClient;
     JvDockClient1: TJvDockClient;
-    tvwLuaGlobals: TTreeView;
+    vstGlobals: TVirtualStringTree;
+    procedure vstGlobalsGetNodeDataSize(Sender: TBaseVirtualTree; var NodeDataSize: Integer);
+    procedure vstGlobalsGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString);
   private
   private
     { Private declarations }
     { Private declarations }
   public
   public
@@ -23,4 +25,31 @@ implementation
 
 
 {$R *.dfm}
 {$R *.dfm}
 
 
+procedure TfrmLuaGlobals.vstGlobalsGetNodeDataSize(Sender: TBaseVirtualTree; var NodeDataSize: Integer);
+begin
+  NodeDataSize := SizeOf(TBasicTreeData);
+end;
+
+procedure TfrmLuaGlobals.vstGlobalsGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString);
+var
+  pData: PBasicTreeData;
+begin
+  // Set text to display for all nodes
+  if TextType = ttNormal then
+  begin
+    case Column of
+      0:
+      begin
+        pData := Sender.GetNodeData(Node);
+        CellText := pData.sName;
+      end;
+      1:
+      begin
+        pData := Sender.GetNodeData(Node);
+        CellText := pData.sValue;
+      end;
+    end;
+  end;
+end;
+
 end.
 end.

+ 52 - 53
LuaEdit/Main.pas

@@ -149,6 +149,8 @@ type
     sPrjName:           String;
     sPrjName:           String;
     sPrjPath:           String;
     sPrjPath:           String;
     sInitializer:       String;
     sInitializer:       String;
+    sRemoteIP:          String;
+    sRemoteDirectory:   String;
     LastTimeModified:   TDateTime;
     LastTimeModified:   TDateTime;
     IsReadOnly:         Boolean;
     IsReadOnly:         Boolean;
     IsNew:              Boolean;
     IsNew:              Boolean;
@@ -158,6 +160,7 @@ type
     iVersionMinor:      Integer;
     iVersionMinor:      Integer;
     iVersionRelease:    Integer;
     iVersionRelease:    Integer;
     iVersionRevision:   Integer;
     iVersionRevision:   Integer;
+    iRemotePort:        Integer;
     lstUnits:           TList;
     lstUnits:           TList;
     public
     public
       constructor Create(sPath: String);
       constructor Create(sPath: String);
@@ -169,13 +172,6 @@ type
       procedure RealoadProject();
       procedure RealoadProject();
   end;
   end;
 
 
-  TDebuggerThread = class(TThread)
-    private
-      { Private declarations }
-    protected
-      procedure Execute; override;
-  end;
-
   TfrmMain = class(TForm)
   TfrmMain = class(TForm)
     Panel1: TPanel;
     Panel1: TPanel;
     Panel5: TPanel;
     Panel5: TPanel;
@@ -584,7 +580,7 @@ type
     PauseFile: string;
     PauseFile: string;
     NotifyModified: Boolean;
     NotifyModified: Boolean;
     LuaState: Plua_State;
     LuaState: Plua_State;
-
+    
     //Search variables
     //Search variables
     sSearchInFilesString: String;
     sSearchInFilesString: String;
     sSearchInFilesDir: String;
     sSearchInFilesDir: String;
@@ -764,9 +760,6 @@ var
   FirstClickPos: TBufferCoord;
   FirstClickPos: TBufferCoord;
   lstLocals: TStringList;
   lstLocals: TStringList;
   lstGlobals: TStringList;
   lstGlobals: TStringList;
-  ThreadDebugHandle: THandle;
-  ThreadDebugID: Cardinal;
-  hMutex: Cardinal;
   lstStack: TStringList;
   lstStack: TStringList;
   lstLuaStack: TStringList;
   lstLuaStack: TStringList;
   IsCompiledComplete: Boolean;
   IsCompiledComplete: Boolean;
@@ -786,12 +779,10 @@ var
   IsRemoteDebug: Boolean;
   IsRemoteDebug: Boolean;
   pSock: TSocket;
   pSock: TSocket;
   pRSock: TSocket;
   pRSock: TSocket;
-  thDebugger: TThread;
 
 
 // Misc functions
 // Misc functions
 procedure CallRemoteHookFunc(pSock: TSocket);
 procedure CallRemoteHookFunc(pSock: TSocket);
 procedure DoLuaStdout(S: PChar; N: Integer);
 procedure DoLuaStdout(S: PChar; N: Integer);
-procedure RelaunchRunningThread;
 function GetLocalIP: String;
 function GetLocalIP: String;
 function LocalOutput(L: PLua_State): Integer; cdecl;
 function LocalOutput(L: PLua_State): Integer; cdecl;
 procedure HookCaller(L: Plua_State; AR: Plua_Debug); cdecl;
 procedure HookCaller(L: Plua_State; AR: Plua_Debug); cdecl;
@@ -1085,6 +1076,9 @@ begin
   iVersionRelease := 0;
   iVersionRelease := 0;
   iVersionRevision := 0;
   iVersionRevision := 0;
   AutoIncRevNumber := False;
   AutoIncRevNumber := False;
+  iRemotePort := 1024;
+  sRemoteIP := '0.0.0.0';
+  sRemoteDirectory := '';
 
 
   // Get Last Time accessed and readonly state
   // Get Last Time accessed and readonly state
   if sPath <> '' then
   if sPath <> '' then
@@ -1128,6 +1122,9 @@ begin
 
 
   // Read the [Debug] section
   // Read the [Debug] section
   sInitializer := fFile.ReadString('Debug', 'Initializer', '');
   sInitializer := fFile.ReadString('Debug', 'Initializer', '');
+  sRemoteIP := fFile.ReadString('Debug', 'RemoteIP', '0.0.0.0');
+  sRemoteDirectory := fFile.ReadString('Debug', 'RemoteDirectory', '');
+  iRemotePort := fFile.ReadInteger('Debug', 'RemotePort', 1024);
 
 
   // Initialize project variables and global variables
   // Initialize project variables and global variables
   sPrjPath := sPath;
   sPrjPath := sPath;
@@ -1283,6 +1280,9 @@ begin
 
 
   // Write data for [Debug] section
   // Write data for [Debug] section
   pFile.WriteString('Debug', 'Initializer', sInitializer);
   pFile.WriteString('Debug', 'Initializer', sInitializer);
+  pFile.WriteString('Debug', 'RemoteIP', sRemoteIP);
+  pFile.WriteString('Debug', 'RemoteDirectory', sRemoteDirectory);
+  pFile.WriteInteger('Debug', 'RemotePort', iRemotePort);
 
 
   // Wrtie data for [Files] section
   // Wrtie data for [Files] section
   for x := 0 to lstUnits.Count - 1 do
   for x := 0 to lstUnits.Count - 1 do
@@ -1398,6 +1398,9 @@ begin
 
 
   // Write data for [Debug] section
   // Write data for [Debug] section
   pFile.WriteString('Debug', 'Initializer', sInitializer);
   pFile.WriteString('Debug', 'Initializer', sInitializer);
+  pFile.WriteString('Debug', 'RemoteIP', sRemoteIP);
+  pFile.WriteString('Debug', 'RemoteDirectory', sRemoteDirectory);
+  pFile.WriteInteger('Debug', 'RemotePort', iRemotePort);
 
 
   // Wrtie data for [Files] section  
   // Wrtie data for [Files] section  
   for x := 0 to lstUnits.Count - 1 do
   for x := 0 to lstUnits.Count - 1 do
@@ -1834,7 +1837,7 @@ begin
   end;
   end;
   pReg.Free;
   pReg.Free;
 
 
-  hMutex := CreateMutex(nil, False, nil);
+  //hMutex := CreateMutex(nil, False, nil);
   LookupList := TStringList.Create;
   LookupList := TStringList.Create;
   EditorColors := TList.Create;
   EditorColors := TList.Create;
   CallStack := TList.Create;
   CallStack := TList.Create;
@@ -2891,7 +2894,20 @@ begin
     actAddToPrj.Enabled := ((pData.pLuaPrj = ActiveProject) and Assigned(ActiveProject));
     actAddToPrj.Enabled := ((pData.pLuaPrj = ActiveProject) and Assigned(ActiveProject));
     actPrjSettings.Enabled := ((pData.pLuaPrj = ActiveProject) and Assigned(ActiveProject));
     actPrjSettings.Enabled := ((pData.pLuaPrj = ActiveProject) and Assigned(ActiveProject));
     frmProjectTree.UnloadFileProject1.Enabled := (((Assigned(pData.pLuaUnit)) and (pNode.Parent = frmProjectTree.vstProjectTree.RootNode)) or (Assigned(pData.pLuaPrj)));
     frmProjectTree.UnloadFileProject1.Enabled := (((Assigned(pData.pLuaUnit)) and (pNode.Parent = frmProjectTree.vstProjectTree.RootNode)) or (Assigned(pData.pLuaPrj)));
-    actRemoveFromPrj.Enabled := not ((pNode.Parent = frmProjectTree.vstProjectTree.RootNode) and (Assigned(pData.pLuaUnit)));
+
+    if Assigned(pData.pLuaPrj) then
+      actRemoveFromPrj.Enabled := ((pData.pLuaPrj = ActiveProject) and Assigned(ActiveProject) and (pData.pLuaPrj.lstUnits.Count <> 0))
+    else
+      actRemoveFromPrj.Enabled := False;
+  end
+  else
+  begin
+    // Flag all menus to false since no node is selected
+    actActiveSelPrj.Enabled := False;
+    actAddToPrj.Enabled := False;
+    actPrjSettings.Enabled := False;
+    frmProjectTree.UnloadFileProject1.Enabled := False;
+    actRemoveFromPrj.Enabled := False;
   end;
   end;
 end;
 end;
 
 
@@ -4202,7 +4218,7 @@ begin
           Exit;
           Exit;
 
 
         LuaLoadBuffer(L, TLuaUnit(jvUnitBar.SelectedTab.Data).synUnit.Text, pLuaUnit.sUnitPath);
         LuaLoadBuffer(L, TLuaUnit(jvUnitBar.SelectedTab.Data).synUnit.Text, pLuaUnit.sUnitPath);
-      
+
         if (FuncName <> '') then
         if (FuncName <> '') then
         begin
         begin
           LuaPCall(L, 0, 0, 0);
           LuaPCall(L, 0, 0, 0);
@@ -4230,7 +4246,7 @@ begin
         LuaPCall(L, NArgs, LUA_MULTRET, 0);
         LuaPCall(L, NArgs, LUA_MULTRET, 0);
         frmLuaEditMessages.memMessages.Lines.Add('[HINT]:  End of Script - '+DateTimeToStr(Now));
         frmLuaEditMessages.memMessages.Lines.Add('[HINT]:  End of Script - '+DateTimeToStr(Now));
 {$ifdef RTASSERT} RTAssert(0, true, ' End Script', '', 0);   {$endif}
 {$ifdef RTASSERT} RTAssert(0, true, ' End Script', '', 0);   {$endif}
-      
+
         if (Assigned(Results)) then
         if (Assigned(Results)) then
         begin
         begin
           Results.Clear;
           Results.Clear;
@@ -4313,7 +4329,7 @@ begin
   frmMain.CallHookFunc(L, AR);
   frmMain.CallHookFunc(L, AR);
 end;
 end;
 
 
-{The Lau debug library is calling us every time before executing AR.currentline.
+{The Lua debug library is calling us every time before executing AR.currentline.
 That means that the first line will get hook but only if AR.what='main' and
 That means that the first line will get hook but only if AR.what='main' and
 AR.currentline=-1 and AR.event=0. It also means that it will call us on the last
 AR.currentline=-1 and AR.event=0. It also means that it will call us on the last
 execution with AR.what='main' and AR.event=0}
 execution with AR.what='main' and AR.event=0}
@@ -4386,7 +4402,7 @@ var
       PauseFile := '';
       PauseFile := '';
     end;
     end;
 
 
-    frmMain.CheckButtons;
+    //frmMain.CheckButtons;
     PrevLine := AR.currentline - 1;
     PrevLine := AR.currentline - 1;
 
 
     // Update debug informations only if we are going to break
     // Update debug informations only if we are going to break
@@ -4394,14 +4410,16 @@ var
       Update;
       Update;
 
 
     repeat
     repeat
+      // Always process messages while in the waiting loop (even if not hanging in
+      // loop because it's running) to avoid output freezes
+      // Bug fixed the 10/09/2005 by Jean-Francois Goulet
+      Application.ProcessMessages;
+
       // Only slow down processor if we really have to wait
       // Only slow down processor if we really have to wait
       // if we don't we have major poor performances
       // if we don't we have major poor performances
       // Bug fixed the 02/06/2005 by Jean-Francois Goulet
       // Bug fixed the 02/06/2005 by Jean-Francois Goulet
       if not ReStart then
       if not ReStart then
-      begin
-        Application.ProcessMessages;
         Sleep(20);
         Sleep(20);
-      end;
 
 
       // Quit loop if user pressed stop/run
       // Quit loop if user pressed stop/run
       if (not Running) then
       if (not Running) then
@@ -4599,7 +4617,8 @@ begin
   if not Foce then
   if not Foce then
     Exit;
     Exit;
 
 
-  LuaTableToTreeView(L, LUA_GLOBALSINDEX, frmLuaGlobals.tvwLuaGlobals, PRINT_SIZE);
+  //frmLuaGlobals.tvwLuaGlobals.
+  LuaTableToVirtualTreeView(L, LUA_GLOBALSINDEX, frmLuaGlobals.vstGlobals, PRINT_SIZE);
   LuaGlobalsToStrings(L, lstGlobals, PRINT_SIZE);
   LuaGlobalsToStrings(L, lstGlobals, PRINT_SIZE);
 end;
 end;
 
 
@@ -4915,19 +4934,6 @@ begin
     else
     else
       pNodeToDel := pNode;
       pNodeToDel := pNode;
 
 
-    // If value is nil and child count is different than zero, it means the user
-    // just changed the name of the watch, wich was matching a table before, into
-    // something wich matches nothing
-   { if not Assigned(pNodeToDel) and Assigned(pNode) then
-    begin
-      if ((pNode.ChildCount <> 0) and (sValue = 'nil')) then
-      begin
-        frmWatch.vstWatch.DeleteChildren(pNode);
-        if pNode.Parent <> frmWatch.vstWatch.RootNode then
-          frmWatch.vstWatch.DeleteNode(pNode);
-      end;
-    end;}
-
     //pNode := frmWatch.vstWatch.GetNextSibling(pNode);
     //pNode := frmWatch.vstWatch.GetNextSibling(pNode);
     pNode := frmWatch.vstWatch.GetNext(pNode);
     pNode := frmWatch.vstWatch.GetNext(pNode);
 
 
@@ -4968,7 +4974,7 @@ begin
         begin
         begin
           lua_dostring(LuaState, PChar('return ('+BreakCondition+')'));
           lua_dostring(LuaState, PChar('return ('+BreakCondition+')'));
 
 
-          if lua_toboolean(LuaState, -1) = 1 then
+          if lua_isboolean(LuaState, -1) then
           begin
           begin
             // Breakpoint hit!!!
             // Breakpoint hit!!!
             Result := True;
             Result := True;
@@ -5172,14 +5178,12 @@ begin
       begin
       begin
         actStopExecute(nil);
         actStopExecute(nil);
 
 
-        while  WaitForSingleObject(hMutex, 100) = WAIT_TIMEOUT   do
+        {while  WaitForSingleObject(hMutex, 100) = WAIT_TIMEOUT   do
         begin
         begin
           Sleep(20);
           Sleep(20);
           Application.ProcessMessages;
           Application.ProcessMessages;
-        end;
+        end;}
 
 
-        ReleaseMutex(hMutex);
-        CloseHandle(ThreadDebugHandle);
         TLuaUnit(jvUnitBar.SelectedTab.Data).pDebugInfos.iCurrentLineDebug := -1;
         TLuaUnit(jvUnitBar.SelectedTab.Data).pDebugInfos.iCurrentLineDebug := -1;
         TLuaUnit(jvUnitBar.SelectedTab.Data).pDebugInfos.iLineError := -1;
         TLuaUnit(jvUnitBar.SelectedTab.Data).pDebugInfos.iLineError := -1;
         TLuaUnit(jvUnitBar.SelectedTab.Data).synUnit.Refresh;
         TLuaUnit(jvUnitBar.SelectedTab.Data).synUnit.Refresh;
@@ -5401,8 +5405,9 @@ function TfrmMain.DoPauseExecute(): Boolean;
 begin
 begin
   Result := False;
   Result := False;
 
 
-  if (ReStart) then
+  if ReStart then
   begin
   begin
+    frmLuaEditMessages.memMessages.Lines.Add('[HINT]:  Script Paused by User - '+DateTimeToStr(Now));
     Result := True;
     Result := True;
     Pause := True;
     Pause := True;
   end;
   end;
@@ -5416,11 +5421,12 @@ end;
 function TfrmMain.DoStopExecute(): Boolean;
 function TfrmMain.DoStopExecute(): Boolean;
 begin
 begin
   Result := True;
   Result := True;
-  Running := False;
+
   if Running then
   if Running then
   begin
   begin
     frmLuaEditMessages.memMessages.Lines.Add('[HINT]:  End of Scipt - '+DateTimeToStr(Now));
     frmLuaEditMessages.memMessages.Lines.Add('[HINT]:  End of Scipt - '+DateTimeToStr(Now));
-    frmLuaEditMessages.memMessages.Lines.Add('[HINT]:  Script Terminated by User - '+DateTimeToStr(Now))
+    frmLuaEditMessages.memMessages.Lines.Add('[HINT]:  Script Terminated by User - '+DateTimeToStr(Now));
+    Running := False;
   end;
   end;
 end;
 end;
 
 
@@ -6899,13 +6905,6 @@ begin
     tlbRun.Show;
     tlbRun.Show;
 end;
 end;
 
 
-procedure RelaunchRunningThread;
-begin
-  WaitForSingleObject(hMutex, INFINITE);
-  ReleaseMutex(hMutex);
-  frmMain.actRunScriptExecute(nil);
-end;
-
 procedure TfrmMain.ASciiTable1Click(Sender: TObject);
 procedure TfrmMain.ASciiTable1Click(Sender: TObject);
 begin
 begin
   frmAsciiTable.ShowModal;
   frmAsciiTable.ShowModal;
@@ -6916,7 +6915,7 @@ begin
   ShellExecute(Self.Handle, 'open', PChar(ExtractFilePath(Application.ExeName)+'\Help\LuaEdit.chm'), nil, nil, SW_SHOWNORMAL);
   ShellExecute(Self.Handle, 'open', PChar(ExtractFilePath(Application.ExeName)+'\Help\LuaEdit.chm'), nil, nil, SW_SHOWNORMAL);
 end;
 end;
 
 
-procedure TDebuggerThread.Execute;
+(*procedure TDebuggerThread.Execute;
 begin
 begin
   //frmMain.actCompileExecute(nil);
   //frmMain.actCompileExecute(nil);
 
 
@@ -7095,7 +7094,7 @@ begin
       WSACleanup;
       WSACleanup;
     end;
     end;
   end; }
   end; }
-end;
+end;*) 
 
 
 procedure CallRemoteHookFunc(pSock: TSocket);
 procedure CallRemoteHookFunc(pSock: TSocket);
 var
 var

+ 112 - 4
LuaEdit/PrjSettings.dfm

@@ -1,7 +1,7 @@
 object frmPrjOptions: TfrmPrjOptions
 object frmPrjOptions: TfrmPrjOptions
-  Left = 443
-  Top = 265
-  ActiveControl = txtPrjName
+  Left = 506
+  Top = 300
+  ActiveControl = txtDebugInitializer
   BorderIcons = [biSystemMenu]
   BorderIcons = [biSystemMenu]
   BorderStyle = bsSingle
   BorderStyle = bsSingle
   Caption = 'Project Options'
   Caption = 'Project Options'
@@ -74,7 +74,7 @@ object frmPrjOptions: TfrmPrjOptions
       Top = 0
       Top = 0
       Width = 442
       Width = 442
       Height = 275
       Height = 275
-      ActivePage = stabGeneral
+      ActivePage = stabDebug
       Align = alClient
       Align = alClient
       TabOrder = 0
       TabOrder = 0
       object stabGeneral: TTabSheet
       object stabGeneral: TTabSheet
@@ -214,6 +214,114 @@ object frmPrjOptions: TfrmPrjOptions
             OnClick = btnBrowseClick
             OnClick = btnBrowseClick
           end
           end
         end
         end
+        object GroupBox3: TGroupBox
+          Left = 16
+          Top = 104
+          Width = 401
+          Height = 121
+          Caption = 'Remote Debugging'
+          TabOrder = 1
+          Visible = False
+          object Label3: TLabel
+            Left = 24
+            Top = 24
+            Width = 62
+            Height = 13
+            Caption = 'Port Number:'
+          end
+          object Label4: TLabel
+            Left = 208
+            Top = 24
+            Width = 54
+            Height = 13
+            Caption = 'IP Address:'
+          end
+          object Label5: TLabel
+            Left = 247
+            Top = 48
+            Width = 3
+            Height = 13
+            Caption = '.'
+          end
+          object Label6: TLabel
+            Left = 294
+            Top = 48
+            Width = 3
+            Height = 13
+            Caption = '.'
+          end
+          object Label12: TLabel
+            Left = 342
+            Top = 48
+            Width = 3
+            Height = 13
+            Caption = '.'
+          end
+          object Label13: TLabel
+            Left = 24
+            Top = 72
+            Width = 82
+            Height = 13
+            Caption = 'Upload Directory:'
+          end
+          object jvspinPort: TJvSpinEdit
+            Left = 24
+            Top = 40
+            Width = 161
+            Height = 21
+            MaxValue = 65535.000000000000000000
+            MinValue = 1024.000000000000000000
+            Value = 1024.000000000000000000
+            TabOrder = 0
+          end
+          object txtUploadDir: TEdit
+            Left = 24
+            Top = 88
+            Width = 361
+            Height = 21
+            TabOrder = 5
+          end
+          object txtIP1: TEdit
+            Left = 208
+            Top = 40
+            Width = 33
+            Height = 21
+            MaxLength = 3
+            TabOrder = 1
+            OnExit = txtIP1Exit
+            OnKeyPress = txtIP1KeyPress
+          end
+          object txtIP2: TEdit
+            Left = 256
+            Top = 40
+            Width = 33
+            Height = 21
+            MaxLength = 3
+            TabOrder = 2
+            OnExit = txtIP2Exit
+            OnKeyPress = txtIP2KeyPress
+          end
+          object txtIP3: TEdit
+            Left = 304
+            Top = 40
+            Width = 33
+            Height = 21
+            MaxLength = 3
+            TabOrder = 3
+            OnExit = txtIP3Exit
+            OnKeyPress = txtIP3KeyPress
+          end
+          object txtIP4: TEdit
+            Left = 352
+            Top = 40
+            Width = 33
+            Height = 21
+            MaxLength = 3
+            TabOrder = 4
+            OnExit = txtIP4Exit
+            OnKeyPress = txtIP4KeyPress
+          end
+        end
       end
       end
     end
     end
   end
   end

+ 194 - 18
LuaEdit/PrjSettings.pas

@@ -4,7 +4,8 @@ interface
 
 
 uses
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
-  Dialogs, StdCtrls, ExtCtrls, ComCtrls, Main, Mask, JvExMask, JvSpin;
+  Dialogs, StdCtrls, ExtCtrls, ComCtrls, Main, Mask, JvExMask, JvSpin,
+  JvExStdCtrls, JvEdit, JvValidateEdit;
 
 
 type
 type
   TfrmPrjOptions = class(TForm)
   TfrmPrjOptions = class(TForm)
@@ -33,11 +34,30 @@ type
     spinReleaseVersion: TJvSpinEdit;
     spinReleaseVersion: TJvSpinEdit;
     spinRevisionVersion: TJvSpinEdit;
     spinRevisionVersion: TJvSpinEdit;
     chkAutoIncRevNumber: TCheckBox;
     chkAutoIncRevNumber: TCheckBox;
+    GroupBox3: TGroupBox;
+    Label3: TLabel;
+    jvspinPort: TJvSpinEdit;
+    Label4: TLabel;
+    Label5: TLabel;
+    Label6: TLabel;
+    Label12: TLabel;
+    Label13: TLabel;
+    txtUploadDir: TEdit;
+    txtIP1: TEdit;
+    txtIP2: TEdit;
+    txtIP3: TEdit;
+    txtIP4: TEdit;
     procedure FormShow(Sender: TObject);
     procedure FormShow(Sender: TObject);
     procedure btnBrowseClick(Sender: TObject);
     procedure btnBrowseClick(Sender: TObject);
     procedure btnOkClick(Sender: TObject);
     procedure btnOkClick(Sender: TObject);
-    procedure txtIPKeyPress(Sender: TObject; var Key: Char);
-    procedure txtPortKeyPress(Sender: TObject; var Key: Char);
+    procedure txtIP1KeyPress(Sender: TObject; var Key: Char);
+    procedure txtIP2KeyPress(Sender: TObject; var Key: Char);
+    procedure txtIP3KeyPress(Sender: TObject; var Key: Char);
+    procedure txtIP4KeyPress(Sender: TObject; var Key: Char);
+    procedure txtIP1Exit(Sender: TObject);
+    procedure txtIP2Exit(Sender: TObject);
+    procedure txtIP3Exit(Sender: TObject);
+    procedure txtIP4Exit(Sender: TObject);
   private
   private
     { Private declarations }
     { Private declarations }
   public
   public
@@ -61,6 +81,18 @@ begin
 end;
 end;
 
 
 procedure TfrmPrjOptions.GetLuaProjectOptions(pLuaPrj: TLuaProject);
 procedure TfrmPrjOptions.GetLuaProjectOptions(pLuaPrj: TLuaProject);
+var
+  sTemp: String;
+
+  function ExtractNextIPPart(sIn: String): String;
+  begin
+    Result := Copy(sIn, 1, Pos('.', sIn) - 1);
+  end;
+
+  function TruncateToNextIPPart(sIn: String): String;
+  begin
+    Result := Copy(sIn, Pos('.', sIn) + 1, Length(sIn) - Pos('.', sIn));
+  end;
 begin
 begin
   // Get General Options
   // Get General Options
   txtPrjName.Text := pLuaPrj.sPrjName;
   txtPrjName.Text := pLuaPrj.sPrjName;
@@ -72,6 +104,19 @@ begin
 
 
   // Get Debug Options
   // Get Debug Options
   txtDebugInitializer.Text := pLuaPrj.sInitializer;
   txtDebugInitializer.Text := pLuaPrj.sInitializer;
+  jvspinPort.Value := pLuaPrj.iRemotePort;
+
+  // Extract all parts of the ip address
+  sTemp := pLuaPrj.sRemoteIP;
+  txtIP1.Text := ExtractNextIPPart(sTemp);
+  sTemp := TruncateToNextIPPart(sTemp);
+  txtIP2.Text := ExtractNextIPPart(sTemp);
+  sTemp := TruncateToNextIPPart(sTemp);
+  txtIP3.Text := ExtractNextIPPart(sTemp);
+  sTemp := TruncateToNextIPPart(sTemp);
+  txtIP4.Text := sTemp;
+
+  txtUploadDir.Text := pLuaPrj.sRemoteDirectory;
 end;
 end;
 
 
 procedure TfrmPrjOptions.SetLuaProjectOptions(pLuaPrj: TLuaProject);
 procedure TfrmPrjOptions.SetLuaProjectOptions(pLuaPrj: TLuaProject);
@@ -85,22 +130,22 @@ begin
   pLuaPrj.AutoIncRevNumber := chkAutoIncRevNumber.Checked;
   pLuaPrj.AutoIncRevNumber := chkAutoIncRevNumber.Checked;
 
 
   // Set debug options
   // Set debug options
-  pLuaPrj.sInitializer := txtDebugInitializer.Text;  
+  pLuaPrj.sInitializer := txtDebugInitializer.Text;
+  pLuaPrj.iRemotePort := Trunc(jvspinPort.Value);
+  pLuaPrj.sRemoteIP := txtIP1.Text + '.' + txtIP2.Text + '.' + txtIP3.Text + '.' + txtIP4.Text;
+  pLuaPrj.sRemoteDirectory := txtUploadDir.Text;
 end;
 end;
 
 
-//Validate a Port number. Expected Format: x (x in [1024..65535])
+// Validate a Port number. Expected Format: x (x in [1024..65535])
 function TfrmPrjOptions.IsPortNumber(Port: Integer): Boolean;
 function TfrmPrjOptions.IsPortNumber(Port: Integer): Boolean;
 begin
 begin
   Result := True;
   Result := True;
-  
-  if Port < 1024 then
-    Result := False;
 
 
-  if Port > 65535 then
+  if ((Port < 1024) or (Port > 65535)) then
     Result := False;
     Result := False;
 end;
 end;
 
 
-//Validate an IP address. Expected format: xxx.xxx.xxx.xxx (xxx in [0..255])
+// Validate an IP address. Expected format: xxx.xxx.xxx.xxx (xxx in [0..255])
 function TfrmPrjOptions.IsIP(IP: String): Boolean;
 function TfrmPrjOptions.IsIP(IP: String): Boolean;
 var
 var
   Sl: TStringList;
   Sl: TStringList;
@@ -158,27 +203,158 @@ begin
     pgcPrjSettings.ActivePageIndex := 0;
     pgcPrjSettings.ActivePageIndex := 0;
     txtPrjName.SetFocus;
     txtPrjName.SetFocus;
   end
   end
-  else
+  else if not IsPortNumber(Trunc(jvspinPort.Value)) then
   begin
   begin
+    Application.MessageBox('The remote port number is invalid. Value must be between 1024 and 65535.', 'LuaEdit', MB_OK+MB_ICONERROR);
+    pgcPrjSettings.ActivePageIndex := 1;
+    jvspinPort.SetFocus;
+  end
+  else if not IsIP(txtIP1.Text + '.' + txtIP2.Text + '.' + txtIP3.Text + '.' + txtIP4.Text) then
+  begin
+    Application.MessageBox('The remote IP address is invalid.', 'LuaEdit', MB_OK+MB_ICONERROR);
+    pgcPrjSettings.ActivePageIndex := 1;
+    txtIP1.SetFocus;
+  end
+  else
     ModalResult := mrOk;
     ModalResult := mrOk;
-  end;
 end;
 end;
 
 
-procedure TfrmPrjOptions.txtIPKeyPress(Sender: TObject; var Key: Char);
+function TfrmPrjOptions.GetLastChar(sLine: String): String;
 begin
 begin
-  if not (Key in ['0'..'9', #8, '.']) then
+  Result := Copy(sLine, Length(sLine), 1);
+end;
+
+procedure TfrmPrjOptions.txtIP1KeyPress(Sender: TObject; var Key: Char);
+begin
+  if Key in ['0'..'9', '.', #8] then
+  begin
+    if txtIP1.SelLength <> 3 then
+    begin
+      if Key = '.' then
+      begin
+        txtIP2.SetFocus;
+        Key := #0;
+      end
+      else if Length(txtIP1.Text) = 3 then
+      begin
+        txtIP2.Text := Key;
+        txtIP2.SetFocus;
+        txtIP2.SelStart := 1;
+      end;
+    end
+    else if Key = '.' then
+    begin
+      txtIP2.SetFocus;
+      Key := #0;
+    end;
+  end
+  else
     Key := #0;
     Key := #0;
 end;
 end;
 
 
-procedure TfrmPrjOptions.txtPortKeyPress(Sender: TObject; var Key: Char);
+procedure TfrmPrjOptions.txtIP2KeyPress(Sender: TObject; var Key: Char);
 begin
 begin
-  if not (Key in ['0'..'9', #8]) then
+  if Key in ['0'..'9', '.', #8] then
+  begin
+    if txtIP2.SelLength <> 3 then
+    begin
+      if Key = '.' then
+      begin
+        txtIP3.SetFocus;
+        Key := #0;
+      end
+      else
+      begin
+        if ((Key = #8) and (Length(txtIP2.Text) = 0)) then
+        begin
+          txtIP1.SetFocus;
+        end
+        else if Length(txtIP2.Text) = 3 then
+        begin
+          txtIP3.Text := Key;
+          txtIP3.SetFocus;
+          txtIP3.SelStart := 1;
+        end;
+      end;
+    end
+    else if Key = '.' then
+    begin
+      txtIP3.SetFocus;
+      Key := #0;
+    end;
+  end
+  else
     Key := #0;
     Key := #0;
 end;
 end;
 
 
-function TfrmPrjOptions.GetLastChar(sLine: String): String;
+procedure TfrmPrjOptions.txtIP3KeyPress(Sender: TObject; var Key: Char);
 begin
 begin
-  Result := Copy(sLine, Length(sLine), 1);
+  if Key in ['0'..'9', '.', #8] then
+  begin      
+    if txtIP1.SelLength <> 3 then
+    begin
+      if Key = '.' then
+      begin
+        txtIP4.SetFocus;
+        Key := #0;
+      end
+      else
+      begin
+        if ((Key = #8) and (Length(txtIP3.Text) = 0)) then
+        begin
+          txtIP2.SetFocus;
+        end
+        else if Length(txtIP3.Text) = 3 then
+        begin
+          txtIP4.Text := Key;
+          txtIP4.SetFocus;
+          txtIP4.SelStart := 1;
+        end;
+      end;
+    end
+    else if Key = '.' then
+    begin
+      txtIP4.SetFocus;
+      Key := #0;
+    end;
+  end
+  else
+    Key := #0;
+end;
+
+procedure TfrmPrjOptions.txtIP4KeyPress(Sender: TObject; var Key: Char);
+begin
+  if Key in ['0'..'9', #8] then
+  begin
+    if ((Key = #8) and (Length(txtIP4.Text) = 0)) then
+      txtIP3.SetFocus;
+  end
+  else
+    Key := #0;
+end;
+
+procedure TfrmPrjOptions.txtIP1Exit(Sender: TObject);
+begin
+  if txtIP1.Text = '' then
+    txtIP1.Text := '0';
+end;
+
+procedure TfrmPrjOptions.txtIP2Exit(Sender: TObject);
+begin
+  if txtIP2.Text = '' then
+    txtIP2.Text := '0';
+end;
+
+procedure TfrmPrjOptions.txtIP3Exit(Sender: TObject);
+begin
+  if txtIP3.Text = '' then
+    txtIP3.Text := '0';
+end;
+
+procedure TfrmPrjOptions.txtIP4Exit(Sender: TObject);
+begin
+  if txtIP4.Text = '' then
+    txtIP4.Text := '0';
 end;
 end;
 
 
 end.
 end.

+ 0 - 4
LuaEdit/ProjectTree.dfm

@@ -237,11 +237,7 @@ object frmProjectTree: TfrmProjectTree
     end
     end
   end
   end
   object JvDockClient1: TJvDockClient
   object JvDockClient1: TJvDockClient
-    LRDockWidth = 100
-    TBDockHeight = 100
     DirectDrag = False
     DirectDrag = False
-    ShowHint = True
-    EnableCloseButton = True
     DockStyle = frmMain.jvDockVSNet
     DockStyle = frmMain.jvDockVSNet
     Left = 8
     Left = 8
     Top = 40
     Top = 40

+ 8 - 0
LuaEdit/ProjectTree.pas

@@ -235,6 +235,10 @@ begin
       pData.ActiveProject := (pTempPrj = ActiveProject);
       pData.ActiveProject := (pTempPrj = ActiveProject);
       pData.ToKeep := True;
       pData.ToKeep := True;
       pData.Deleting := False;
       pData.Deleting := False;
+
+      // Adding project root to change notifier...
+      if ((not pTempPrj.IsNew) and HandleNotifier) then
+        frmMain.AddToNotifier(ExtractFileDir(pTempPrj.sPrjPath));
     end;
     end;
 
 
     for y := 0 to pTempPrj.lstUnits.Count - 1 do
     for y := 0 to pTempPrj.lstUnits.Count - 1 do
@@ -277,6 +281,10 @@ begin
         pData.ActiveProject := False;
         pData.ActiveProject := False;
         pData.ToKeep := True;
         pData.ToKeep := True;
         pData.Deleting := False;
         pData.Deleting := False;
+
+        // Adding unit root to change notifier...
+        if ((not TLuaUnit(pTempPrj.lstUnits.Items[y]).IsNew) and HandleNotifier) then
+          frmMain.AddToNotifier(ExtractFileDir(TLuaUnit(pTempPrj.lstUnits.Items[y]).sUnitPath));
       end;
       end;
     end;
     end;
   end;
   end;

+ 127 - 142
LuaEdit/Splash.dfm

@@ -118,155 +118,69 @@ object frmSplash: TfrmSplash
     ParentFont = False
     ParentFont = False
   end
   end
   object imlLua: TImage
   object imlLua: TImage
-    Left = 24
+    Left = 16
     Top = 192
     Top = 192
     Width = 64
     Width = 64
     Height = 64
     Height = 64
     Picture.Data = {
     Picture.Data = {
-      0A544A504547496D6167655D110000FFD8FFE000104A46494600010100000100
-      010000FFDB00430006040506050406060506070706080A100A0A09090A140E0F
-      0C1017141818171416161A1D251F1A1B231C1616202C20232627292A29191F2D
-      302D283025282928FFDB0043010707070A080A130A0A13281A161A2828282828
-      2828282828282828282828282828282828282828282828282828282828282828
-      28282828282828282828282828FFC00011080080008003012200021101031101
-      FFC4001D000001050101010100000000000000000000040506070809030201FF
-      C400441000010303010505030808030900000000010203040005110607122131
-      410813516171142281152332374291A1B1526272747582B3C117339224343843
-      5694A2C2D1FFC4001A0101000203010000000000000000000000000306020405
-      01FFC40031110002010303030105070500000000000000010203041105213112
-      134151142232A1B10623344271C1D161728191F0FFDA000C0301000211031100
-      3F00D534514500514514014514500514DAFDD92DDC9309B8739F73290A71B64F
-      76807A959C0FBB26BEAE8F5CDB52136C8719F041DE53D20B6127A700939A01C2
-      8A4935C9C88695438EC3B2B86F36E3A509F3C2B74FE55F8C49922DCA7E6C32DB
-      E80A258657DE938E5BA70324D00B28A436ABA31724B8594486D6D1016DBECA9B
-      5249F250E3F0A5D40145346AAD4B68D296776E77F9CD43868E1BCBE254AE894A
-      47151E1C8551F70ED4B606A5A9106C373911C1C77AE3886C9F309E3F89AD9A16
-      95ABACD38E51E3925C9A1E8AAF766BB5DD2FAF9CF66B5C87235C82778C296908
-      7081CCA704850F439F102AC2A8AA529D2974CD6184F3C051451519E8514536B4
-      BB93D797379088F6D606E8DEC297214403BC3F4523978939E5D4021DD5336E4F
-      C68B1DE5B0C652E4A2375BDF071B89CF151E792380C73A18B3456AE6BB82CBCF
-      CB24EE2DE70ABBA07ECA07248F419A72A8C6BAD77A7B4441127515C1B614B04B
-      4C27DF79DFD940E27D790EA6B2842537D315963824F4564BD63DA82EB25C719D
-      276A620B1C84899F3AE91E212084A7D0EF555D74DAF6BDB9AD4A91AA6E48CF48
-      CB0C0FB900575E968971359962246EA23A0B45739D9DA16B265CDF6F55DF42BF
-      7F74FF00ED529B06DE75FD9DC1BD79170687FCA9CCA5C07F98615F8D493D06B2
-      5EEC933CEEA377D36DAED0DDB1E74C59127D996384671CDF43673CD39C91E99C
-      79551BA07B4CD9AE6E3717574155A1F51C7B5324BAC13E63E923FF0021E26AFD
-      813235C21B32E048664C5793BEDBAD2C2D0B1E208E04572ABDAD5B778AB1C122
-      927C186FB48EB195A9F69371885D57C9D697150E3B40FBA14938715EA540F1F0
-      00555553ADB8D8A469FDA9EA38D210A4A5F96B96CA8F2536EA8AC11F791EA0D4
-      16AEF6918C6841438C235A5C8A2DB3A55B27C79B6F7DC8F2E3B81D69D6CE1485
-      039045744F66BA8CEADD0B65BE29212ECB8E14E84F20E0252BC796F035CE415D
-      09D8958E469DD9669DB6CD416E4A23F7AE215CD0A714A70A4F98DEC7C2B91AF4
-      63DB84BCE7E5FF0060929724DE8A2BCA5B8E3515E71968BCEA105486C100AC81
-      C071F1AAB9308AE6DCF7E7C16A2AFB8869577B21E046F2B77186C0F02799F018
-      EB4E548ACADCA6AD51937177BE99B99755803DE3C4818E83381E42A2DB60D72C
-      680D172AEAB087262FE661B2A3FE63C41C67C860A8F90C75ACE9D39549284796
-      1BC115DBBED8E36818A6D768EEE56A479190857144549E4B58EA4F44FC4F0E78
-      B6F977B85F6E6FDC6F131E9935F3BCB79D56547CBC87801C074AF3BADC65DDAE
-      5267DC5F5C89925C2EBAEACE4AD44F13496AED63630B48616F2F2CD6949C828A
-      28ADE310A70B0D92E5A82E2DC0B241913A62F8A5A6105471D49F01E678537819
-      381C4D6FFD89ECFE1E83D1B163A5947CAD29B4BB39F23DE538467733FA29CE00
-      F53CC9AD0D42F959C13C65BE0CA11EA665C6FB3C6D09517BE36D8897319EE4CC
-      6F7FF3C7E35E3A2F586B2D8AEA3F61BA4294D425AB79FB6CAC84389EAB6D5C40
-      3FAC9C83D735BAAA23B51D0F6FD79A5255AE736812024AE24823DE61DC70503E
-      04E011D4570E1AC3AAFB77314E2C93B78DD114D51A5F4A6DDF45C2BA41925A90
-      94911E6A120BB1D5F69A713D403CD39F3078E4D1170ECCFAD5896A6E2BF6994C
-      67DD7448523879A4A723E19A62D876BF95B36D6EA8D7252D36892EFB35C19278
-      36A077438078A4F3F1191E15BB1B5A5C4256DA8290A194A927208F115956AB71
-      A5CBB74DE60F8C8494F7667DD92F6758DA76E6C5DF57CB62E5358505B311849E
-      E10B1C42945401591D0600F5AD074DB3A44B8F77B7A50D9720BFBED3BBA824B6
-      BC652A27F478287A914E55C8B8B9A9732EBA8F248925C0536CF9725178B6448C
-      8CB4F1716FACA49094253C067A12A527E00D395218F700FDE26C04B647B336D2
-      CB9BDCCAF7B863CB77F1A80F45D58AFB586AC5DF36886D0CB84C1B3361909078
-      1794029C3EBF453FCA6B6938B0DB6A5A8E1291927CAB9A5A8EE4BBC6A0B9DCDD
-      254E4C92E48513E2A5157F7AEEE85454AACAA3FCABEA4555ED81BA8A92ECF745
-      DCB5DEA0167B33915B95DD2DEDE92B2946EA719E20139E23A5345FAD6FD92F77
-      0B5CC2DAA4C27D71DC2D92525485149C12070C8F0AB3AA9172E84F721C0868A2
-      8ACC1EB0DD0C4B65E29DE0DAD2B23C70735D33B6CD62E56E8B3622C391E4B497
-      9B58E4A4A8641FB8D731EAFCD83EDD53A46DEDE9FD54879FB4367FD9A534379C
-      8C09FA253F6919E231C4798C01C7D62CE771052A7BB8F833A7249EE6C4AF975C
-      434D2DC754942100A94A51C0007326A028DB2ECFD717DA06A9801BC67077C2FF
-      00D18DEFC2A8CDB8EDFD9BF5AA4D834507D10E424B72A7B892853883CD0DA798
-      07A93838C8C75AAEDBE9F5EB4FA7A5AFEAD1339A450FAB273573D53799F1FF00
-      C99535E7D1FB2A714A1F81AD9DD97F562F52ECD23C694E15CDB42FD8965478A9
-      B032D9FF0049DDFE5AC395A1BB185D54CEB0BEDA8A886E5424BF8E854DAC0FC9
-      C3565D5A8295ABC7E521A6FDE35A4E71D6A148723A038F21B5290827014A00E0
-      7DF5E7699A8B8DAE24D6F8224349740F0C8CE295523B5CD666B2F18C85212C3C
-      B8E524018521441C63A70AA69B02CA4719F88E5CA6B2CA5225B496FBF2118241
-      077727AF5F4A5948DA8B199BA489085E25496D01692AE69467040FE6E7E9407C
-      DF778D96E1DDFD3F67731EBBA6B99B5D3F5A42D0A4A8652A1823C45734F545AD
-      765D4975B5BA9295C394EB0411FA2A23FB558FECFC97DE47F4FDC86AF82D6EC8
-      DF5B49FDC1FF00CD155F6D4FEB2F567F1595FD555583D91BEB693FB83FF9A2AB
-      EDA9FD65EACFE2B2BFAAAAEA53FC6CFF00B57D4C1FC245EA62E6CF6E88D9AB5A
-      DCC885F25B8FFB386B795DF6F6F14E71BB8C6478D43AB40CBFF83C83FC4CFF00
-      5D7535D55952E8E9F3248F22B3928AB25B9DBBDE605B6329097E6486E3B6A592
-      1214B5048271D3269E3683A3E7E86D4AF592EAF467A534843857194A5230A191
-      C5401FC2BE7671F585A5FF008A45FEB26A7FDAA55B9B659CA290AC478E70AE47
-      DCEB495592B88D3F0D37F3431B643486C1350DE6C4CDE2EF70B7582DEFA429A3
-      39642D493C41DDE4011E241F2AF3D6FB07BFE9DD3EF5F2DF3EDD7BB5B092B757
-      0D6779081CD5BA78103AE0923C319A74D4969DA96DA3E4DB8BBA7931EDEC35BB
-      19293ECCC104E77C25C5E4E4606470C015666C636797AD09A575AB1A86642519
-      908A930187BBC2DE10E02B50E433903873C79573AA5E55A4BAE55239CFC2BF5F
-      5E4CD453DB0642ABA7B236F7F8B1EEE702DEFEF7A651FDF154B5689EC5F6953D
-      AAEFD7629F9B8D0D31C2B1F69C5857E4D9FBEB7B51928DACDBF43187C46B7A47
-      6C4424264FC9E50429F597B7559F9DCFBD9F039E94B2915A6DE9B732F369714E
-      175F71F529431C56A2AC7C338F85514D916D37CBB777F78B7CF43810A8C9710A
-      1BB9EF10B03867A714A4FC29C293DCA209D6F93154B5B61E6D48DF412149C8E6
-      08EA2805158C3B5A692559B5F22F6C37885786C2C903825F400958F88DD57C4D
-      6C6B626526DD193702DAA5A5B01D5367292AC7123D6A33B56D13175EE8D99679
-      052DC83F3B15F50CF72F273BAAF43920F9135BDA75D7B2D7537C3D998CE39465
-      7EC8FF005B29FDC1FF00CD15EBAFB627AFAEBAE350DC2058BBD892AE0FBECAFD
-      A991BC8538A20E0AF23811CEAAF0EEA0D09A965B0CBF2ED3788A551DD2D2CA16
-      9F1191CC1C039E4460D3A7F8A5AEBFEADBD7FDD2BFFB5699D1ADDE75E8B58692
-      DF3FB1026B186395E362DAF6CF6A9972B8D8FB98511A53CF39ED4CAB75091927
-      01793C3C2AD0D396599AB7B271B7581BF6CB8439CB7171DBE2B3BAE951481D55
-      BAA040EBD2A969FB46D637084FC39DA9AECFC57D05B75A724A8A5692304119E2
-      0D25D1BAD750E8D94EBFA6AE8FC153B8EF109C290E6396F2140A4FAE295685C5
-      582EA6BA934D738DBD426913AD8BECE2FAFEB9B65CEF56D956AB35AA4225C995
-      39A5309F7140A503780C92A0070E59A90EDC13057DA5E026F1B9F2729E8024EF
-      FD1EEFDDDECF9639F9556FAAF6A5ACB5521A6EF57C90EB2D389750D3494B280B
-      49C8510803241E2339C546AF779B8DF6E0B9D799B2274C580953CFACAD440180
-      32691B6AD3ABDDAAD2D9AC21949611A27B4FB1AFA46AF6E3DA59BCB9A70B0811
-      DBB721C2D9563DFDF08FB59E5BDD318EB4EFD9DF41DFB4FE99D5B2EFB1D71A6D
-      DA16E4684EFF00BC29294AFDF52798C950001E3E9C334958F6CFAF6C96C45BE0
-      EA178C66D210D879A6DE5200E4029692703D69B2DBB4AD5F6ED4EEEA162FB295
-      7675BEE5C79EC3814DE73B852A053BB9E2063874AD6F62B8EC76174A4BCEFBE3
-      D7D3E665D4B3922D36248832571A6B0EC790DE02DA75050A49C750788ADC5D99
-      B492B4BECCA23B29B289D7557B6BA1438A52A003693FCA01C78A8D501B1FD257
-      5DB06D1646A1D50B322DEC3A8767BE5B084BEB00043202401C4019C7248F122B
-      6B2404A425200006001D2B4F5ABBCC55BF9E5FF07B4E3E44F746E43B6D94DC35
-      213256D292D2967002883827E35FB6D8A20DBA2C54A8A830D25BDE3CCE063349
-      642273B7D89B854DDBD96D4E384287CEB87DD4A08E78032AF5C79D3955749828
-      A28A01B66479A2EF12544777A3E0B52185AB09DDE6169FD60787983E54E54536
-      C183261DCE5AC4A2EC07F2E069CC9534E13C774FE81E78E87970A02BADB8EC82
-      16D0A0FB6412DC3D44C2375A7C8F75E48E4DB98E9E0AE63CC70AC55A974FDD34
-      CDD9EB65F613D0E6B47DE6DC1CC78A4F2503D08C8AE94B2EB6F369719710E36A
-      E4A41C83F1A64D61A3EC5AC2DDEC5A8ADCCCC6867714A185B64F542C7149F43E
-      B5D7B0D5656CBB73DE3F344728677473768AD35ACBB2DBE971C7B47DE90B6F9A
-      635C06EA8790712307E291EB5575D761DB42B73842F4EBD210392E2BADBA0FC0
-      2B3F8559296A16D5566335FE76FA91383456D454D9AD93EBC717BA9D297607F5
-      98291F79E1529B07677D7B745A7DAE1C4B5B44FD3972124E3F651BC7EFC5492B
-      BA105994D7FB3CE96CA82ACBD90EC8AF5B419ADBFB8B836142BE7A72D3C158E6
-      96C1FA4AFC075F03A0340F66ED376471B95A91F72F92D3821A527BB8E0FEC649
-      57C4E0F855E31D86A330DB319A432CB6909436DA425290390007215C6BCD6E29
-      38DBF3EBFC12469FA8DBA534EDB74AD8A2DA2C91931E1474E1291C4A8F5528F5
-      513C49A5776765336F7976F603F2F186D0A56E8DE271927C0733D70294B8A210
-      BEEC0538064249C64F4E3D290D923CD663ADCBA490F4A795BEA4A3836D70C042
-      3AE06399E24E4F9556A5272797C930A60B4EB30D86E4BE643E9400B748037D58
-      E2703957BD14578028A28A00A28A280416FB4C5B7CA90F424AD94BFEF2D94ABE
-      6F7BAA8279027AE39D7C5B6E8A9529D8B2214A8925B0558713942D39C652B194
-      9E9C381F2A72A28028A6D6ECB0D9B999EC079A7D4A2A7021E5843848C7BC8CEE
-      9FBA89F0EE2F4B4BB0EE82332000595474B80F1E2739078D00E58A2915D23CE9
-      086C5BE7221A81F7D4A603BBC3C0648C57EB909C7ED822C996F970A405BEC9EE
-      96A23A8C72CF9500A5E710CB2B75C3BADA1254A3E0073A456AB926E8DBCB623C
-      A658180DBAF37B9DE67AA41E38F502BDADB6F8F6D8E598A1C082A2B5171C538A
-      528F324A8934AA806EB45A58B6075685BAFCA7882F48795BCE38472C9E400E80
-      600A71A28A00A28A280FFFD9}
+      0B544A76474946496D6167657B06000047494638396140004000F7FB00FFFFFF
+      FF8F8FFF7F00EFEFF7EF8F8FDFDFEFDF8F8FCFCFE7CF8F8FCF7F00BFBFDFBF8F
+      8FBF7F00AFAFD7AF8F8FAF7F009F9FCF9F8F8F9F7F008F8FC78F8F8F8F7F0080
+      8F8F8080BF807F00708F8F707F007070B7608F8F607F006060AF508F8F507F00
+      5050A7408F8F407F0040409F308F8F307F00303097208F8F207F0020208F108F
+      8F107F0010108700FFFF00FFC700FFBF00FFAF00FFA300FFA000FF9F00FF9000
+      FF8F00FF8C00FF8000FF7A00FF7000FF6000FF5C00FF5800FF5000FF4000FF34
+      00FF2C00FF2400FF2000FF1900FF1800FF1400FF1000FF0000FE1000FE0000FD
+      2000FD0000FC8F00FC5000FC0000FBFF00FB9F00FB0000FA8F00FA5800FA1800
+      FA0000F90000F8BF00F89000F88F00F82000F80000F7FF00F75000F48F00F320
+      00F31000F30000F25800F10000F00000EF8F00EF2000EF0000ED8000ED0000EB
+      BF00EB0000EA2000EA0000E80000E78000E70000E6D700E60000E40000E32000
+      E30000E20000E10000DFFF00DFEF00DF0000DE0000DD9000DD8F00DD2000DD10
+      00DAE300DAC000DA8F00DA2000DA0800DA0000D82000D80000D78F00D70000D5
+      1100D4FF00D4DF00D45000D43C00D40000D20000D10000CF3600CF0000CE0000
+      CD0000CA8F00CA0000C8CF00C80000C70000C29F00C20000BF8F00BF1000B900
+      00AC0000A8DF00A81800A30000A20000A0BF00A0A0009C00009A000099000098
+      AF00970000960000950000941000940000930000927000920000918F00910000
+      90FF009000008F10008D8F008D34008C00008BFF008500008200008000007F00
+      007EBF007E00007D00007B0000780000718F006C00006B000069000068000066
+      00006300006200006060005C5C005C00005620005500005400004C000049C000
+      4920004830004400003000002F00002C40002C00002B10002B000028300027FF
+      002720002440001C1C001818001200001030001020000C000007000003FF0003
+      600000FF0000EF0000DF0000CF0000BF0000AF00009F00009000008F00008000
+      007F000050000034000020000010000000C0C0C000000000000000000021F904
+      010000FC002C00000000400040004008FF00F9091C48B0A0C18308132A5CC850
+      2085060E1D086C108122050A032354D42830020488031BD81B49B2A407861434
+      5234B8A1A4CB9730EDD5B3A702248998F5401EACE870608B98404B2A0040B4A8
+      51A22537146CA093E1899743834A9D6A6F4243844F8502884902C005AD232700
+      3830E14208150014B8BC5030C2D5832AA8CA2579D2A0DBB708EFE26DD874AF5F
+      7E1A2360247891E3DFBD6E5742D44BF08287132766D23C41C203048413A6D65D
+      D840A2C096734B9E1870B42868153B13EA652A30736898624B132DF053F45BC6
+      FCB28285D9F52BC9A8F62E0080F0B38558912E2F1F1668F282F3E7CEE92A50D0
+      D2836F7B1E1A2880E0C15E880BB53767FF5CBE34EE6B994A0FAE24CF50654290
+      3CD9CB1F383824EEF97E0763BCBBBE6747C0FE8574D33A23A9C0965F81FDD7D1
+      7D0BDDA7195F6E0556DF67B585464253E601A5DC4E77DD77D379237DD7C0041E
+      54B8A107285AC6904E8CE9F69A07B219855C556F3570D184FC7C086255311655
+      804B7DF52590038215E656082F51769E07051435007831F5C5E0412E8E04DC4B
+      06EA88DD75D869A7C004199664154153F6C5A5955BF1E6D56E24A950190469B9
+      84DA6D064986260978E679135A03ECD90052F60CD0A73D2D78409A5A74FDE5E1
+      8E726D78188E0355C9687AF8D1B7D006248449523D27A858E95E42E2D5DFA7A4
+      96BA9C90A19A9A5F5BA9AAAA5A871D35FF35D84A901604C198F345C8544AFCCC
+      CAD8603C4568EBA62591405E7C188D8A126E5AC224AAAE80B5AA906104B91694
+      78AAF1D38005117AD698A430152AE4830AC18710049A86B64E08039DE9D2090D
+      45F81041CD8268A772DDBD2B6D46173555AF5C273469D400F9DAE3E86D852DC5
+      A8C0317E086F5BE5EAA5176820FED923000390D40282D45A0BE25017A739D2C3
+      641E54DF8415827842C86762ABDEBCBD0E5430A32D587C5401E0DAC51944925E
+      F95A0B2480BB69AD0DF52C32A341E13AD1554673B5E66F69B6704069F5E23825
+      6E33A3E93497C09D00254971BA441E544717FBB4D6235D409A518892C42E99A9
+      2A4B31DA2F75656D0B808E6576DB84CA583733C8A58D046751D3A5299C511008
+      5A92CE0D1AE42ED230CDA9285C900345E978A2525E79A28C238650D6E7A970B0
+      82CB4DC9CF04FFC6D4C2E506ED5BAA8D13C47E15B595DA58A9E9A40AE63AC4AE
+      72DC21EEBD07DF5040003B}
     Stretch = True
     Stretch = True
+    Transparent = True
   end
   end
   object imlLuaEditLogo: TImage
   object imlLuaEditLogo: TImage
-    Left = 99
+    Left = 163
     Top = 219
     Top = 219
     Width = 33
     Width = 33
     Height = 33
     Height = 33
@@ -643,4 +557,75 @@ object frmSplash: TfrmSplash
       E7C74C4D75B9CC75F573D59AD75E7D693DE5F5D7461D38CF5CCB3A63898AF12E
       E7C74C4D75B9CC75F573D59AD75E7D693DE5F5D7461D38CF5CCB3A63898AF12E
       67D7574AFA595DFEFF0071207D15D02BFB9FFFD9}
       67D7574AFA595DFEFF0071207D15D02BFB9FFFD9}
   end
   end
+  object Image1: TImage
+    Left = 88
+    Top = 208
+    Width = 60
+    Height = 50
+    Picture.Data = {
+      0B544A76474946496D616765C60700004749463839613C003200F70000000000
+      DFE6E0416C41527852567C56567B565B7E5B6285626C8B6C769376799679849F
+      8487A187839C83829B828FA68F9AB29A8EA48E99B09994AA949FB69F9BB19BA7
+      BCA7A1B4A1A5B7A5ABBDABA7B9A7B1C3B1AABBAAB3C4B3BAC9BAB6C5B6B9C7B9
+      C2CEC2CAD5CAC5D0C5D4DED4CED8CED9E2D9D3DCD3D1DAD1D7DFD7E0E7E0DFE6
+      DFE6ECE6E8EDE8EFF3EFECF0ECEBEFEBF4F7F4F2F5F2F0F3F0EFF2EFF9FBF9FB
+      FCFBF7F8F70D4E0B185D16196017185B161E711C1C681A1B6119195E18195817
+      1E691C1D651B237821257E2320691E2780251D5C1B1F601D1C591B2E8D2B2165
+      1F2F8D2C236A21308F2D31912E3BA538399F36205C1F2565231F571E23612223
+      5E22245E23235922266025265B25275C26285B272A5E292D612C2C5D2B2E5F2D
+      30622F3465333668353A69393866373967383F6B3E4B744A527A515D805C6586
+      646889676E8F6D6B8B6A7293711F721C1E6D1B1F6F1C22771F21731E22751F24
+      7A21216E1E2372202B88282A84272B86282E8B2A2D8A2A31922D2B822831912D
+      2D882A2D872A32932E2E892B1F5C1D35993134963033942F379C333AA33639A0
+      35379A333CA5373BA4373AA136399F353DA8393EA8393CA6383FAC3B3EA93A3E
+      A7393DA63940AD3C3FAA3B276425255B237D997C99AE9898AD97B0C0AFBCCABB
+      C0CEBFBFCCBEBDCABCE2E8E1F1F4F0FFFFFFFEFEFEFDFDFDFBFBFBF8F8F8F7F7
+      F7F4F4F4F3F3F3F0F0F0EEEEEEEDEDEDEAEAEAE9E9E9E7E7E7E5E5E5E2E2E2DD
+      DDDDDADADAD8D8D8D7D7D7D5D5D5D2D2D2CDCDCDC7C7C7C5C5C5C3C3C3C0C0C0
+      BEBEBEB8B8B8B4B4B4B2B2B2AFAFAFADADADABABABA9A9A9A7A7A7A4A4A4A3A3
+      A39E9E9E9C9C9C9A9A9A9696969494949393939090908D8D8D8B8B8B89898986
+      86868585858383838181817F7F7F7A7A7A787878777777757575737373717171
+      6D6D6D6A6A6A6969696767676464646161615E5E5E5A5A5A5151514F4F4F4D4D
+      4D4949494747474545454242424141413E3E3E3C3C3C3B3B3B3535353333332D
+      2D2D2A2A2A2525251C1C1C1B1B1B1414140C0C0C030303000000FFFFFF2C0000
+      00003C0032004008FF004D091C48B0A0C18308132A5CC8D0860220802849BA44
+      B1A2458A952411D9B481A147841F96348A74F192A4220658101C11664FA69292
+      0C8D91F1F1238C3087265E2489A74B47549C92087A5992921D36359312D40046
+      CE223B6B0EB6C03948079A1303555068610182050A2E16BA02204E203100C3B2
+      017847ED9740586405B662B70D1CBA59E9A885FBF66ADE396DD9F2559BF54E16
+      3C7AC4B441E3C52EDA3A64B0DC79E3860F96D2CB98337B9421024384060B267C
+      3261433366540586502A6991246B8A247F74328DD00D91D5AD154D1981D0011C
+      DCAD9B64A07D9084962744612FB22282208338952E52AA3380B8F5EB0587F103
+      D00F403753C9F8F5FFDB07C05EAD5600C60974E54E5BB773B6E25123D7ED95BC
+      56A66C9833172B1EAA6BD998D20D34C2CC138D3BC5C402CF36DFD8130B761042
+      48C20152C0E187229150A26125934092470F5E301056840879020424D1BDA622
+      257D70811589A6ACA11A6B9254E2841C4504310423C9EDE483061126300770B0
+      491284270811A0079197440245131F40F8401C3D5294091F66C060D007853CE2
+      5A459128A2C98BD885D0A54E16550208193499020A128E7C59D19565D000A340
+      0DEC90086E9508812441A71460C46A19E6818528A658D0860A109810CA7077A2
+      20410C089150410BD761535E3B00C0834A319D9A830F00C7A80280394AF9628A
+      2AC5A802CC3BBBFCFFB20B42ABD4330B4163912310A8C80884CA2DD378874A5C
+      A60873CE40CCCC031836B8BCB38A29B3C453432BF19C428D35A66C13CD37E800
+      A68C35D8ACFACEAD77966BEEB9E89A2B4202665451441C3CF010C71259A0F1C0
+      0AE91A54C116742C42492591C8198925995472880F023497AE023940C2A48A4D
+      52C2071551965B021688A408F16B46A171038CA31CE1089A1755C26186245B94
+      091362BC10610B5E1892729350DC5146031C5C80C0267F544911254444252595
+      256512C8193318348A1451C8D9A4982840681B9361EE865003BF951449131C40
+      2824D5950431014269E851A5934D800021084B40E1F42595DC3140000479F005
+      213E4B72C84C11BAFF31248D91ECD0F5296BC081C96B93F8002984A7A851C7C3
+      99C8C1C940379CA184C6B041F1C305E55E004422C965B2071AA50D44C215907C
+      49C91E60A460C20930A022500D112E0084129950C24817A418748110916412C9
+      105D8022100B1598F2C6026F30700A892BB461050E1D20D4060E624CF0F14035
+      9472430CA5B9407BBEE5A2E24C3BF36CF3A029C8B4534F3AC698B28A38BD5EE6
+      4A38AE98A24C39DFC47F902AD2C0CF4058B10F7A3C6B1B00E8C539F8413B5730
+      0B3D6511C82B9AC18C5BC5C219C840452A6E518B605C431FC960452E4C810D6C
+      D58216A6E0C53354650A5814431785C1557A76058062B4C21BF9000000EA910B
+      56100B18EB788B32ABD2410B5DE08317F7B0852958F10E53B4421EABF8463862
+      B18D6778031BB460863A9EA1AB58388820AAB8873E78218B75002017CD88872E
+      50D10B005CC30633340510D7D30CF5982215B1B88F2962418F54B0421EA80097
+      29B8018D6FD4EF14D0D0D52BEEB13E82E0221AD500C6401E998D663C8855B312
+      882C9EF18C5A98C216D268C62B52F18B54088415CB80852F4E718B5B984217AE
+      04C63486413B59246317BA7816F976C94B530404003B}
+    Stretch = True
+  end
 end
 end

+ 2 - 1
LuaEdit/Splash.pas

@@ -4,7 +4,7 @@ interface
 
 
 uses
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
-  Dialogs, StdCtrls, ExtCtrls, jpeg;
+  Dialogs, StdCtrls, ExtCtrls, jpeg, JvGIF;
 
 
 type
 type
   TfrmSplash = class(TForm)
   TfrmSplash = class(TForm)
@@ -18,6 +18,7 @@ type
     imlLua: TImage;
     imlLua: TImage;
     imlLuaEditLogo: TImage;
     imlLuaEditLogo: TImage;
     imgLogo: TImage;
     imgLogo: TImage;
+    Image1: TImage;
     procedure FormShow(Sender: TObject);
     procedure FormShow(Sender: TObject);
   private
   private
     { Private declarations }
     { Private declarations }

+ 2 - 8
LuaEdit/Watch.dfm

@@ -6,8 +6,6 @@ object frmWatch: TfrmWatch
   BorderStyle = bsSizeToolWin
   BorderStyle = bsSizeToolWin
   Caption = 'Watch List'
   Caption = 'Watch List'
   Color = clBtnFace
   Color = clBtnFace
-  Constraints.MinHeight = 200
-  Constraints.MinWidth = 300
   DockSite = True
   DockSite = True
   DragKind = dkDock
   DragKind = dkDock
   DragMode = dmAutomatic
   DragMode = dmAutomatic
@@ -45,7 +43,7 @@ object frmWatch: TfrmWatch
     Header.Font.Height = -11
     Header.Font.Height = -11
     Header.Font.Name = 'MS Sans Serif'
     Header.Font.Name = 'MS Sans Serif'
     Header.Font.Style = []
     Header.Font.Style = []
-    Header.Options = [hoColumnResize, hoDrag, hoVisible]
+    Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoVisible]
     Header.Style = hsFlatButtons
     Header.Style = hsFlatButtons
     LineStyle = lsSolid
     LineStyle = lsSolid
     PopupMenu = ppmWatch
     PopupMenu = ppmWatch
@@ -72,7 +70,7 @@ object frmWatch: TfrmWatch
       end
       end
       item
       item
         Position = 1
         Position = 1
-        Width = 400
+        Width = 163
         WideText = 'Value'
         WideText = 'Value'
       end>
       end>
     WideDefaultText = ''
     WideDefaultText = ''
@@ -152,11 +150,7 @@ object frmWatch: TfrmWatch
     end
     end
   end
   end
   object JvDockClient1: TJvDockClient
   object JvDockClient1: TJvDockClient
-    LRDockWidth = 100
-    TBDockHeight = 100
     DirectDrag = False
     DirectDrag = False
-    ShowHint = True
-    EnableCloseButton = True
     DockStyle = frmMain.jvDockVSNet
     DockStyle = frmMain.jvDockVSNet
     Left = 80
     Left = 80
     Top = 48
     Top = 48