OberonCore https://forum.oberoncore.ru/ |
|
B41: синхронизация со сборкой Центра BlackBox 1.7 https://forum.oberoncore.ru/viewtopic.php?f=116&t=6192 |
Страница 1 из 1 |
Автор: | Евгений Темиргалеев [ Понедельник, 04 Декабрь, 2017 01:08 ] |
Заголовок сообщения: | B41: синхронизация со сборкой Центра BlackBox 1.7 |
#56 (Bug, 2015-06-09): fixes in HostFiles https://redmine.blackboxframework.org/issues/56 Пункт: «Sharing error must be handled in Delete». Вопрос: если мы при генерации временного имени в HostFiles.Delete продолжаем крутить шарманку при ошибке доступа sharingErr, Код: s := f.state; num := WinApi.GetTickCount(); n := 200; то почему эта же логика не распространяется и на остальные — accessDeniedErr и netAccessDeniedErr?REPEAT GetTempFileName(path, new, num); INC(num); DEC(n); IF WinApi.MoveFileW(fname, new) # 0 THEN res := ok ELSE res := WinApi.GetLastError() END UNTIL (res # fileExistsErr) & (res # alreadyExistsErr) & (res # 87) >>>> & (res # sharingErr) <<<< OR (n = 0); IF res = ok THEN f.state := hidden; f.name := new$ END Код: PROCEDURE Error (n: INTEGER): INTEGER; VAR res: INTEGER; BEGIN IF n = ok THEN res := ok … ELSIF (n = sharingErr) OR (n = accessDeniedErr) OR (n = netAccessDeniedErr) THEN res := accessDenied … PROCEDURE CheckDelete (IN fname, path: FullName; ask: BOOLEAN; VAR res: INTEGER); VAR s: ARRAY 300 OF CHAR; t: ARRAY 16 OF CHAR; BEGIN REPEAT Delete(fname, path, res); IF (res = writeProtectedErr) OR (res = sharingErr) OR (res = accessDeniedErr) OR (res = netAccessDeniedErr) THEN … А также на аналогичные циклы подбора временного имени в CreateFile и Directory.Rename? |
Автор: | Евгений Темиргалеев [ Понедельник, 04 Декабрь, 2017 02:34 ] |
Заголовок сообщения: | Re: B41: синхронизация со сборкой Центра BlackBox 1.7 |
Цитата: A flag is needed for suppressing the OK/Cancel dialog when creating a new directory Этот пункт на мой взгляд тоже весьма сомнительный. independent from option 'ask'. This makes it possible to use HostFiles without any changes in an automatic build system because the CP compiler always uses option 'ask'. Reported by Josef Templ, 2015-05-29. Код: ignoreAsk-: BOOLEAN; (* file/directory operations ignore the 'ask' parameter and don't ask, default FALSE *) Для того, чтобы компилятор не спрашивал, нужно опцию в компилятор добавлять, а не в HostFiles.... (* use this mode e.g. for scripting, i.e. when modal dialog boxes are not appropriate; implicitly uses OK in OK/Cancel dialogs and Cancel in Retry/Cancel dialogs *) PROCEDURE IgnoreAsk*; BEGIN ignoreAsk := TRUE END IgnoreAsk; (* use this mode for interactive usage of BlackBox, i.e. when modal dialog boxes are appropriate; this is the default behavior. *) PROCEDURE UseAsk*; BEGIN ignoreAsk := FALSE END UseAsk; Иван Кузьмицкий идею такой опции компилятора в начале 2014 года высказывал. Результат можно посмотреть в дельте E20. |
Автор: | Евгений Темиргалеев [ Понедельник, 04 Декабрь, 2017 18:47 ] |
Заголовок сообщения: | Re: B41: синхронизация со сборкой Центра BlackBox 1.7 |
HostFiles, однако, менее интересен, нежели стрелочки. Бурного обсуждения пока не возникает По первому пункту, нужно добавлять в Delete и в Rename Код: UNTIL (res # fileExistsErr) & (res # alreadyExistsErr) & (res # 87) & (res # sharingErr) --> & (res # accessDeniedErr) & (res # netAccessDeniedErr) <-- OR (n = 0); Подробности: UNTIL (res # fileExistsErr) & (res # alreadyExistsErr) & (res # 87) --> & (res # sharingErr) & (res # accessDeniedErr) & (res # netAccessDeniedErr) <--; Код: StdCoder.Decode ..,, ..0d2...3Qw7uP5PRPPNR9Rbf9b8R79FTvMf1GomCrlAy2xhX,Cb2x
hXhC6FU1xhiZiVBhihgmRiioedhgrZcZRiXFfaqmSrtuGfa4700zdGrr8rmCLLCJuyKtYcZRiX 7.2.s,slH00k,5TWyql.bnayKmKKqGomC5XzET1.PuP.MHT9N9ntumaU2,CJuyKtQC98P9PP7O NbXmb.2.gW7l2k4a2,6.,U08J99SdfJHPNjvQCJuGKfaqmY6MwdONl1QCh0708T,U..w.wq6V. sUGpmWbBxhYhAbndMHT9NY6Mw.sQq2Y6cwB.0.ptFw,Ia5F.0E.M.Zx6cU.ktAcoZimBhWhioh gnZcZRCY.2.o36.I16.M.,.JFUbl,E.0ES9.2.2yTL.5yJ5E,5zdGLmmoouqpCLLmoouqpGomC 5C.2.W40.u22.1cF6FHPMNvPDf9T8Q9fP98SdPNZfP19PFt7F9Rd9Qpt9TdQ99NPPORPNRdMNP M5vO3vPlfNZPMPPNjvPZvORtPZvNTNObvQfPNbv9fdBDN8Q.6.6w.IyCU.2.O,2.W.0..B,1cU ZT1E.sAE.c46.,.16.c8WFs5.2UEC.M.M.6.,c8fP3d8mBE,5TeEdKLqKKtCLLCJuIepZBGomC rl0ks,ktuGdKLqKa2V.ISE.Mos,sc6.,k,Z8.CLLC3b8Rn9P99F9vQ0ks,Uikwm46.Zz,E..W. e32.86.c918R85.2.7.,..Y22U,U.2.2YXK9FR81EnXE,wnjl.k.E.0.169Exzzzzz.e,4Euzz zzz.8.2.IK3kBuG,Ikmr,2U.EkE.kfU.M.TW.AhmAanBjnRcVZhgRiiwdkFISGoG5bfCTt9BvP ZPRPf9TfM9fQTfP5vPZPNRdQfv9hPO9HuyKsaqluGsWKsyHsqnM0nN0HQCnF0rM0nN01DN88E, 9z4U.kNE.0.p.0.z50EJ0.I.2Gk1k.0.89.U.2.m30.W.0.U,Q.6yzzzzr.k.mzzzzz,eD.uyz zzz,myzzzz,Ozzzzz,uzzzzz,5cUZT16.,Um,,UO.,.16.c8U,UE0,62M.1.16v.cwzzzz56wz zzz5cy.6x.cw.QU82.4EF4.7cUZT16.,UgU.UOU.2.AU.6.e06.2Uw0m.4k.k08Mtr.0E.cL3E .6.e,2.VZ.2.e0.,6YUIU,A80k.mD.GD.eD.mD.GD.mD.0yzzzz,uD.mD.uC.uD.5s1M.1.1cz .QUGU,IAczEp.EM4.1czk.k..Uq1Uw1UezzzzTUq1Um1Ug1Uq1Uy1k,e.A.AUy1k,0F.2U,Q.c yECUq11.1cu.6zE,Ui11..Uw1Uo1Um1Uo1T.uDA.6x.6v.cw...OD.uDo1cvk.Uu1Um1UkzT.u DY..A.6z.6w.cw.6.0E.al58U34j0cUXzIGKXyKqGqtuGXyKqGKWKqtC45.,6.onCE4k2v.0E. .5gwL.0.k52.Lf1E.M.nR.cUZT16.,UbU.2.e,2.AU.Ue.E.07M.M.322U.kMU.EBU.U,2.I3t fj1.0E6,Z.1czk26.3cUZ50E.696.c46.,.16.c8.2Uw0W.4k80.5cUU.2.G30.e,2.yD2Ue.E .m9M,,U,I.AUy1b25s8M.n9.QUm.r,361M.5Q.Y.U.2..c46.,.16.c8U,UE0,68M.b07M1M.B 45s7M.ZB.s9ESE,U,oIAUy1r.3c,EO9.768E0E0GE.M.b35M5EGl,uG.EN4.1.200kzrkayIWK JaKIEWorCLuOoomqmCrRqEH0u4akYqIcyIdGJECpgCJeKoamGESpouqU0romGEOoom4N76LONZ fP99PN76NuPDvCPc76IZuH5OF7OJZOF,tEZPN19R9fFH9P996FdNp76BOONnR0Gf4Id0GtKqte HEaIbGpWSoW8pIin4ak2OpU8JEuquqKK0GreHEaIb.rN1HcE9uFHeHPM0HMGB86Bf9RPMPPN,N D,d6376d8G9eHPM0aErKrq0GRqHESpou4umXKKuGpoCqpCorKLrGLIamR0Gr0GRqHE8HM0nR0G rKrq000nR0GayqnumdGLtaKrSKI8mV8rm44EFamR0Gay4NePrN1HM0HcI98I9OEdO1HM0HM0DO Nd9J9PPVfFHXCBghhgcogiYhjRgi2iVZicZZUogioBYZUohphhdQbUAdCRccohphBYc3Rccohd QbBU7wdkhgipcdZhZ3ZXJiZVg2Yap3UadQ9fNN76ZPNbP8rN1HU7YdjxgiQ8UapZiVdQbUY7DH e4KliHEmorMGR9RFdQ9vQ2YAVA,geCZe7ZdU2ZmhA,t6,dNH9PKIwaqtGrtKIt8rI0GH0GI8rm UVZhmhgVZgthcsBB..EQSnI0mb8JEWGr0mS0GMam4ak2KIaCpWqk2ak2y2UcogiQioBgohggUi VgUm,M8PM0HMFR8FPM09eH0mV8rmEXkRqk4aEc83.7ONNPNdPN,78HeH,dNRPMP1VPMd9Op76B ORN9PROMPnR0GfEtcC.A3cJcPY3mGECLR0mY.iHEOKR0066RPNjfC,dFf1UVZiodC,tI98JrN1 HcE.4odCpW8JeWGnuqk665763d6N76X7AVN8rN1HEn0GRqXI3hdRi4BhghgccP1XdM1HkYO2,N D,dHH8H,7JFOFk2a2jOOR1GommqmcFsJFdNRPM66576V76d8G2YmhA,dCv76TvOPM0akWm2,dQ 9vQkfoBsFYdVRiohcmJijJicAZBA,HEbg,HMFN0Fd8,tQdPON9P,NOR96fvQ996vdD,NP1vO99 6H9R,NMRvPRPSPvPfvQ,d8HN1HM0a2Bf9ZXUQYUAhipiVZhdZgUYe6,..CIqyqtKKY4KrGKqKK IOKL85HtC,dNRdQ2YukouKv.9eH7uCH68J761N6176JN8P.19RdfQ,dCvFVaIeCJISpou4w6Oo oma,ZioJid,SJIOKrUdQbBU,,AgoZC,t6,tSVd9RNH18KFtI98JHNTN76X7AXN8rN1MGw8U4Bd AhcTBcIZeGBd0h89uLZOF18FTeHNOK,d8,NMd9RgbUQjx3YI3d3N1M0b96pVapZn,r76KbUUL, w6Gpo.GbdUUUm.R16AY7Q8UWYcZZBIYdEaEa.aEd.M0HkXkm.u2WGs4KuY3RPNj99,dPfnIMG. 6F.k2A7.gdjpiZpcdZBj069uqmAZUQYU.22.TX7k2g6cQ.j0sFY7..aU3p7rN1aU76HsI.RPNj nR00Y8.a285HtCUA,AVJ,UUQ2B190..kk.K2..UsUUoYU23Un3hVJidphbhcmJCyId.0Xv.HMG IiZlS0mriKEGJYKYBU7cNRtQd1,dCvFoaKmGqmuqR0GnuGrEEenSohZxiYgV7A,HMFg,6Hg,Hk 28rmCLEe1jfQH9R99IZvPdPN59R99N9eQZP1HM0KIbU3,9WUYcZZBQbBoYUWG,EIGKR0GWaKtK qlGrrAjd2YGhgiBghhge2YcYhjRgu2Y4BBCLLmorCqkGrr8rR0mrmKmmGEu4p,Eb4qqKqRsQLf C,dETuHNOF1eHHtCPUKVmFK0moeHEaIb.UiBgh79Er4qqEuuKR0GXK5kRogukosC4KucCkRcEc HMEg6Yhj76576ROGN89,dAVN8rN1we7Ze63YgxhXJ5NuP5PM667uHPM0HM018QVPNR9NF7PTHL 6RFXjZhYZ33d6NFqy4PPMl9H9fPN76T9Pu4amR0mU0LsK4Uk,u4NFF80kq.ohZdPUBUVVUI53O GduI0mfa4.B010H1krmKm.HtCkYsHZ8FFNMdXd2YX2YhAaUYe6,ak2OKE66d0EIyKqG4sCk2a2 FdN,t6,dHAZUoYUcNRdQs6a4kI0GeW2,,,,jGrU1,..HVapZmFEe1H166.Hk2a27OOBfNFtPN9 NEKoB.mqrsM1vQ9vI9fPbP8,t601M1M0CIoKqliKWKKqK4FdP9vR.Es.1vQL99,dQ9nIg,A,HW mFEq1.k2MGw8UB,sJyKq.oBUd22.U7U7Fn0mFo700AVcIZUQC..gikZgVZCOqomaUYiVJgghgU IZd.H.OKLuqk66cP.7N1HM0HM0MFg,Hk2MFNWU.pVL,w6m2kr.A,KIb.HkW.akWm2H68J767Xo BhiBgoBhjphUAhn3YnBghhgUogdVVRiUQijhimRgZ3YeA3M0GLr0GRsPN9NUv2Yd3Yug5NOFR8 8dfP7N8,N9,NAr76N0b02ZWIeZBgihhZJYdQ5N0N0M083Y8HU7EuQfdhfUIbxsEFeIFtHZ8FGL ripoAZUQZUAadQ5M0A7S3ka.w8.mWoN8,t6.00UjRhBU7kWEE.w8U5,..a.9eHi1A,m2C3Euuq IiHEUIlRY7A7Ud66Ea.aUJp768665FnkW.UaEt.19P6NK2..UskRq.aU7FtkSEEG3q.a.HWL,g 7.jGuuKK0Gr.aWx2Yk2YIVU.p,.D0.EEKIbGo4k2g6q.akW.Y7.cNHXCxhopcjhiiZg3Jimh,c HkWm2.ABUCBghNFZfQPU3p7r,NvP5f9ZPNb96MFZfQTXmhgnBZBMFRGE8pmu4in4O09eH7GYyq t.bn44.0kA.cwd.,.L,N.X.0U,2.,E.7.U,w.,6.16.Mjri.K6Ay2hgqRcjhhhBgiZgZJinpZH 7NhmmY62UlbcZpC.c9h0E.8D2U.EE0E.2.o.0U.M3,k.q44.0Ejrq.gksJ...c9bW3phYpedhA E.4D.UigciZgK,6.Z52.m,0.8E.E.4E,k.0.q9.ZT3E.636.c,6.,k8EJE18MtrE.E.6C6.c46 .,Uz5.2Ue64.,6j0.CE.M.zC.0U.US1ULU.2.e,2.8.2U,I.AUs11.DcUZT16.,Ui6.,6.,UO. ,.16.c80S45.2UE00.WMP9UERe0cUZT3E.s1E.c,,.,k8603gwP.0.N,,.p.0E.1M.1U.EJ.6. V2AX.k1iW.M03gwP.,6.w62U.EBU.U,.J,U.YLE,k1G,Wk12.F6xzzzzD0D.0E.2U2Rf,6Ibe. s36.,Uv,,U0U.2U6A.AU,.p5S04EtzD4.IT.2xzzzzD.EvV2U,ISM.EwV1.d54..U52.0E2,k8 E.0.F0,.B.0UJUNU5Q3AV02.SED6.HM.,.f.H.SECE2G.2.0EW.k9E.0.1V.2U.E,E.0k14.,M .1.0.,Mj.M3E.cIE.c,E.g04EB2.1cx.AUw1Um1Uo1Uq17.16.2Ux0.E.636.c,6.,k8k5E38M tr.2.0f.2U.UO.,.1.eWMU02.07s.M.n.J6,M.T2WDA.AUmzT.uC.OD.GDg.,6.J.wF6yk.k.8 D.uC.OD.GDg.6.2US1ULU.2.0B0.8.0E.4E,k.GDAY.k1Gl.s,RzzzzzDM.M.1.OD4k.Us1Ui1 Uy1h..1.GDg1,Um11.eC.8D.mD.GD.OD.mD.GDQ.AUu15F.wU.E.W6.K,0E.6B6.c,6.,k860k 1i0aE,k18H.6076.2V.E.G2Q8s36.,UVU.2.8.0E.Sk.k.4.2.,6.v3.f.0.72,.B.0UJk.U8Q .AUNU8Y.AUn.R5KL.M.F54.2T60EvVB.3zzzzz4.YT.oR.ITcB0U,2.0Ej,k9E.0.Z2,6.I.6. 1c.M.d5CY.s,b5uCS.AU,.l54.oTAU7.J58.YTM.Eu,EtV0.d54...N5.h58.iE,9z4E.0.DF. 2U.EBE.0.4E.EJYD2.0E6,B5NcUZT1E.s31.0UOU.2.A.c8.2Uw0mE.s05,1czk.k..P.mCA.c u.6x.cz.6u.6x...OD.GD.0zzF42.4o.s0xzzzzzL6OM.1U.cxM.1.8DI.AUu1j,WDA.cw.cx. cw.6vE,k3i1mE4k3O,qE,9z4E.0.D5,6.I12U.6g6.I3.0E6F.o4,k3qE.M.1.eDQ2AUo11.mC .WDI.A.E1Uy1D.OyzzzzB.6yk2Uy11.8D.eD.WC2,AUq17.8DA.6yk,Uo11..k10.,6W.M36., UoU.U4U.2.fU6.Ds8M0k1i3WE0E20.,6F.s36.,UQU.U0U.2U5I.wU.U60UJU.2.C02.O.0E.g 0.Ds8M0k1mU.c13gwP.,6.252.I12U.wT2U.EJ2QU.YLk.0.Fc,0U62.0EW.k9U.kEE.0.3.,6 .DM.M.1.0.,Mjr4UJ.,Ue6.2.O.2.fU,.Js.M.z10.uB.S,0E.cc1.0U0.,M.3.16xEGk1mI.E rl1U,A.6yk.UyX,2,AUg11.eC.mD.GD.8DI.cz.6xk.Um1..cxE,Ue11.mC.uD.8DI.QVKB.4k .Ug1H.WDA.cw...mC.eDod.U7VBQ7QV02U.M.1.1cykBk.uDQ,,Um11.0zzl3Ug11.uD.8D.GD I.6z.cyEDUk15.0U.2Ux0UJ.,U2W.U4U.2.f.T.J.4kAE3G.4kNUi1f116uk.Us1F.Ozzl4UW1 1.mD.uC.eDo4AU.E.uB.S,0E.cC6.,U0.,M.3.16xE,k1u5oRw.M.1.0.,Mj.M3E.c86.,U4., k8.IV1U,wD6.cr.s36.,Uu.,U0.,M.3.16xk.k1aK.Er,M.1.D6.6W.M36.,Ut.,U4U.2.fU6. Ds8M0k1m.uk.6.Fc,60,U.Y6.w02U...3.,6.1c.M.p51s4M.Z58.yT,CmOOH,0GI8ouSKK0GN 0nMKnK0HPqGManIeHEOqoWrmCLEaKr0GYyqt.qE,iudWqk850mm8LtyaUghpRio3YWhgU2hVph YFm0Wi7F99PsiRN1Rc67Q37Q97A6V7BRNAZd9Z7AXtB,7Ap7BZdCV7A,t8VtAV7A,d27gD7wD7 AE7gD7QE7A6Fd.VPAVtAWX0AZu2YpYk,ZkvYksYkUYb2Sd24YzYk.7C7A6b7Vf7Vv7Vf7V,8VV 7VB8Vl7Vl7V8H01I0LH0nH0LH0rXxYkyYknYkyYkU2b2ab2i42b2420GY.c97ONN1,tD7AEuXo YkyYkvYkqYkkYkpYkw66p7V,8V58V38Vl7V38VN8V,7G7AA7AE7AD7AA7QD7gC7wE7A6z,lVyY k6ZksYklYkuYkpYkUYa2q51GVGsVGsTGMMGMECLo44g6Z99PM0HM0HsQEnu0sC,dPfHEkfUd,d OOUilIEEe1ZVvgV7M0HcI.M0SYoNN.ROM2Zk,u4NFrM8A7.Y6UBU7MGB0UB,maLdNEKoBaGEC0 G3UUUjN1HU7MFN0.S3kX6H.2Zdg,A,9eHq.ake.sQCWaV3,kI.UV,...EQ66B76.C5.sHUxkI. HMGICg52YIVBk2aUatQEEe1F1u4oB2YuEr67k2K28I0vXUwb2qb2yc2ia2a558V,NH7gE7AA7A 6h7Vf7ViH0vH0DH0XH0fH01H0hb2i4,7E7AA4I0zH01Yy.0I01XxsH7QB7gE7QE7wH7A6l7V,N D0H01GTA63GMQb2ad2ib2Sd2ia24YI2oUAgXRgZRinZcZphdhgYhcm76l7V,dP99R1uM5PN.Uz gV72eG,839eQyKt0GIuKR0mY.aGR0mY.in4cJ.pVC,EV.A7uKEqXj,222Yukrg,Hc7,R1HM098 HaIX0GIuKEsQFPM..UVRgXtQUZ,H,.RPNd1..Ye6,.1vM.k4aUaUEJ8EdsEFPN51UcAdCdNMNN Fs4KuI5.QbUAgnRhu.cHr76hOEUuEb.HtCcJsQp761eIZOEn86b7AVlbOIECIY4IdiHEGLR0mU 83Aaq2YDpcU.qU0,cI.AV2hgghAWGnu4m0GbgcQ9vQHtCPU7A7WGt66vlv8591UY,y285sQ... MMsQUZNFM1HU7wdG3Yc.oB...6JFOFRO1AVaE6GME8I01H0fH0PH0L1v7V6A7QD0XvcDU5ZkxY k9,B8VlFRQb2Sd2426B4H0vH01I076ZFUg4g4vlSo5bFT2Ys6DK1W1ZFEC211maU2b24Y2Bhm, oZGhgiBAyn4uEFG6..AarIblAbuIat2Yf2anU1pb2Ca24c2mS2YzYk.VmYkpYk.ZkysFq1aH01 m6Gs6GMEWGQGsUGsWGMTGMOgb245pFQGMEyH07C8H0LXoYkpYEiYUgb2GEu1qH0vXmUUIc2ia2 Kb2S6H8Vf7Vn7V,NE7QA7gD0YuYEwdWhgmlVyKtKqIqkK0GNGMEOH0DI01I0rH01Xv66zlOGsX GMMGMVGMMg43mUwd2uD0YycF7QB7QE4I01mTo5dlM.VFEWH0Vx6C0GNsE.69,dI91mW2hAM1P7 6v7V58Vt7VfFU24B0T8V,V.7C0mTo5.g4,NE8Yk6E8I0DYpYk07618V,7AN76V7V,NDKXUwa2i b244D8VflSkbcE7AAaH0nH07EM13c.PM19OAbdC,d.7ONhvE2idZhZJiiQcjhB6JFPObP1PuH. sI4KtGru0rRqk2aoaw76R79HTPM7PNZvCPcE9uFkdGLmm2c9NuP19NFd6HePH9R3N8PMFR8F,, .oZ0gVBIU2hgqZddpB9fQR7HHfP0GeKqtGLLKKwKKEe1LONZfPYYf2Y4BhgtQ,7HTHEWorCb4, CJuG4gA,7GTXH,gVl2Y,3ikZhjxgjpZdRgj3Ym2Y2xhXZhjxgj,CHECJXmorS4EO0mVOIay4Up 2Y2ZitZdjxAUq2YaxhgNNZPOPvNRNO5Xr2Yj3iZNOPvNk4WHEmqm4KnaqqS42Yl2YBxhqhgiQg pJiUIaUQcj3itpZXhCCHEmoouaiQgpJCd76VOO5vORtMfXp2YHZCVf95PRZHP0GY4KrGKLCqus B,7J1fMNHLCquc.PM1z6V58V18Vp7VPc.3tPPvM5OP79PHfP9f998S9vMFt7NPORv7Hd6,dM3P D,vRHfP99Q19RF96PNR,tMpt93fMPtP3PNZXXxB0KEiHECKm0GG8KlyGl8KEOGH0mvaKr2YiwZ IhgnZCkR0mmCKoyKECF0vF09G0vF09F0vF01mR0GtKqkIUBoVW.6B.22eHNWHRCHQ0mJ01cQ.g VBwW24a2mZGsXGMRGMQ22UUQ4kO26lFUGsVg4tlZg4,7C72qXkcCPM9,dD7QA7wG7wFqX9NCYc 24a2C5r7VPM9,dE7gD7wCmYuYkyYkUwc2Kc2i4vFQga2iV0I2.....05.kK..sM.2YwZjUggsB ho3YvgVZRgcxBV76x76Rt9T9N59AV7AV7A,tCP.AaUobUo3.4HEin4CKoqqrGKEqGv0GO0HM0G Lymr.4XvcQ9PM7XBIUd3ipBh9ZamoaiQecxhrZdjxg,ZhrBgtRi72ZesH7gC7gD0Ys66llPGME OH07Eq1i17A6d7VfFUoa24a2K6,7F72sGIZdgV0AB.KIwKaBAVgxB,dCvFXaKqQiiYAuGeWqoC LI8GFamRqUitRX76pND.UChgr3ZgxhXZZUocd,1vQLP8rN1moroZHdQ683dQ9vQc6HtC,,RNGG bgxBRVnB3,,m2wiUIbxcPSrMuGbKqvSJtaKuIicod7ZddQbUwiiwemBB8owGrmWmK4nIiHEuqm A4B8PfvQFvCH68Yc244EE0I0LXkYEmYxYky661GTGsPGMOGMMGscGMVGsUw7y14YvMB7oP2a2y b24b2C6l7V,d8Hl2uqmIaUIbxcFUY,23Y3.11r,sI.EE.U7,o3A3UA,UiFNuGbKaL,Z1.U0,.I 4B8Pf1.A522..00w4kc.T0UvMB...8k4qE7GsZGMOG6DGM2Yc2djRCB0ogdlW.66v76l7AHdCP cQ9vQ66VN15eQ9PM.PsEp7L3fMPtP.6L3fMtuP7vMV,Vd9H66l7APsEp7L....Xd9H66l,.... IaiAVU2aBIiZRC.Z1.....6AR,cC....41.....81W1....sARN0,7A8F0jYzYkysCqH0LXxcD qk4qF0vH09X9Zkt.A52Y,ZES1MIUDFNGMEW2UndH9vRBOONHdKKn0GNGME0I0dB7AC7AD665fQ 44,78jOORPEsEZOF18J9uLROFjO8N76z7Vgd2Kc2q5t7V5GEuH0DX.ZkkYkx6CSYpMDWXDFOGM TA63mVw5VVx6A0mTEOA426,7Cm1q10mSg4,dA7wC7AC7wHuI09I0vm4uEF..R,00p7BddCZtA, t8VtA6F99Pk48EFy4Ui,23s7.Uk,22kK.UUFE.EE..66l96x76ginhgYpZs3Yvg,.krmKmuGw0 0Z1..UB.EXktYAY8.MRbPN796pND,,.yIqGKImqrY33NRbPN7f98GK0GXa4QicBgmhgYBZvAVc I3x7V38Vp7V,8VL8VZ7VV7VfFS2YpRiZZA0GJa0NuPQ8Z1UUEF.A7d1u0a0EaU4BhgVYVGhgiV cYhjRggkrmKmuWWEFK5c6o6kkkRaEI6C7QEyXysCmYrYk1Zkp6DiYt.A5cI9fP66D8VfFUg4j7 V,tEFPN.2YzMBUsYkwUxcD8181cE0GNGMTGME8X.NBmXpMDqXyMB7A6l,T8V,d86HsI85.,,.a 2ELsQH,6HE,q.6BsF01F,.YhmhgVNS..X7Cb79,7GT1.5vM.K422KnIqEtKqtEE6F99PM150q0 .Y9.6ARVl25PsEp7L....X,fN17ONN1....EMu0.....41......0HL.....kM.ZPNUsgVGYEy XyUxUxUBc77ACeXv66ZFEGomUUIY,ZkzYE8Y9dC7AA7Y0NEyYW2YyYkl66x7VFGQA4plV2Yo.8 Y1tD018H0nH0LX,dEu1Q7X7VxFU24,NE7wCKXosE7gH7QG7QBCH0vXU25g4vFQAZBA,aEd.k2w 6U4VCVc2CdHKoBj99kIMG.6FC2k2A,HWL,HnaEXkfW0gggcPA3EeEEUukrM0Hk2g6K2.j0sF.9 eQyKtWWBU7MFRm4a.HMJUc.576B190Ud2Ya.kk....6C66.sQMOg6sHcP2YkUMYkUI4,tEF1.y XysCCI0TI01XpcE4YDZkUAa2ia2C6pFTgb2i4DmSQ7sDcA8I0vX.761GE8XysBmH0vH0PH0rH0 vX,dEmYCZkUI4LmWGMTY4VV0dDiXAdCuXUw6fFUkPcD8YwYEqX176xlTg424B0lFEWGtkS2bdo ZBAVEJ8MJZ0.UcA7.2iVFR.kR00.kREdICeX7pdIVGtCPUKFECLRU,B9b,TW1,,VU.AaqsH.qU 0,AVG,q.G268B1m0GbgcQA3PU7A7W000j199IZXZRA91a0cQUn,..UVRAC5AhZ,qU7M0T0.RHu ...6JM1AV7A74qtiKEG3U7c7AV7M098Hg,Hk2ICI5CqkuqlKKqqk2aU7gcC,Y7U7ICUjV7MFR0 K3cQ9XXcQ99RZPSPM09eH0mV.UvgVBIY244p7VlFS2YyMA02SH0vH0nXg2YzYk.7C.qXV,.UU. .R1..EXGMQI5rFEyXy6B4Xy6E0XUEMG6hlOMEi1G1KX076zFUo5dFTQ5hV2K6NGLqk2aU7g8EI UXcN..o2.44....l,B,Un,..kkCql....RPNd1..w7oB.Rc6..EE2bu2akIbkYaUQZk.ZONR1, 7818VrlV.nFEuXo6C7QD7AAeXycA7wG66l,X8Vv7VN76v7VVlT26R761OE186l7V4oU4qIqk4y F0LH01Yp6CmXpMDCYp6Di2Y6A5rFEWmU4oUuGwaGEWH0xa2GVQd2y6pFQ2YzcD66kSg4,GQ26E SkO2YG,2b2a5EMIbB.Q7DmSkQ.UB.Q5N02282qXsMBq.UY,K2W0w2kS.EEq0Uh.QA2A.3100.r lm.U,Bc,p3,tC..kw0mRqkm..cS,tCPsM.Yak24A6.Z13.3,.......P,...2YaEqCLEqGq0mK CJEiHE8bV,a4EP.P.U4Vn7N8bI,.B0.ZGrEIm4NV,Bc,pZsJYgc61mkuGw80B0AgnlRqUAVHdQ 68EEqXWEEU77RELsQHFEUA,3.6BsF66F,cB,ND,7GT1.5vM.M8PcI9PMRnmqkVe1..t01OE1mw aEE4HQ....cSHkO.2YqgVGYk9tDuXvMDKXxcDq.cCiXUI4,dI9fP66GsSkRo5bFQw6vFT2Y,tD cE7wGeXkMB8Y,tHo5XFE6GWXlcCCYUY4A63mVw5VFK0GQGMK0GNGMSg41GVo5y1GXlcD020GO2 c2mNGMTQ4xFEWXwUx6CmWz6EuXm6AiXsYkm6AKX076ZlZw5xlRg5f,g4,NE0GT.I5xlQGMLqk2 M083.HM0YiiVUU1,G2kIkMU7M0Ad4tJ.P0kfwBu4999G5,Vk.00I5y4aU7kWm2,,kfoBsF.9Wj JCq.a.9eHq.aUJ,.5FnkW.Ua.kkm4AD...W1r,aU7FtkSwB,,q.a.HWL,g7.jGu.u4a02YIVU. p,.D0.EE.A,90P627QD72uXn6CS2uXUY6EK0GXG6EEyXy6BcD02Ac2S5fFOkOI6yX.VocDiXqU 07H0mTEQ2Yc.vlt.K2w7ICkk..9Wd..u4..ELqk2aU7MJUc.5FnkW.EEO0.11...UsEE.kt... MM51...cP...rN1R....XdAptAZ76L7Ab,ZEEW2Un3YmYkxYkpMEKH0rX976zFTw5,GMIa2Kb2 45NFeKqtMNlXzMB0YpMEuXl6E0Xx66lFES1yX1Zk7,0mPkSo5ZFT2YcAc2ab2qZUIY2iW20.Ur Ibl.sAAZigVBw1,8VxFNg4,GR24RN1Pc....EXUiYAZHe.3,HMR66..y2F,NVpVi..b19nI.xF VI5,8VLGNkOY5,NRb100Y7Q8Z1F,0mSI2.H0c9Qid.Y7cFUYVGhA68NXgkrc9EFK5c6o6kkC5r N06C.iXAtBCYp6DiYt.A52YGdP66D0,mOw4C2.2Yz.6Cm1qXyU9dAU0FNo58X.NBmXpMDqXyMB 7A6lFSw7e0m2CZm,EE.U7,o3CrI.m2I.UoU57AeXmhA66V,k4UW,.UjVkEMu0W1....MAU1,.. .ENEMIiZRCUGUz.qXp.qU0AB....YAY8.cF.cIUcUgkUA6lHKIY,NMU4,44in4Y7Q8.66I2.H0 c9M8.N0.Y4.PcI9PMgA...A6AD....UuB,....Qj72Ykg,UU.w5..c6..68kH.v,..M9.Ek.IA 66..r,I.8G0LF0,c9EE25OHR4HP0mJ010mFGsUGsTg4F8Vv7VoZBIklbeZ3D5uPR9RZvPN9P9f Qbf9b8R7vEdfQN9F9vQ59.XDJ..oZ1dPd16FCrl0U1Fu4485Et...ktu0.Y62Umb.0E.E8E.k2 0E.2U..U,Ikmz,0E.0.11D6.0kg6.,6.CcF.,.600E.yX.6.,U0KyH6.2..676.16.6.665Z.2 U.2Ua5V0.4.4.0E.cUq.2..c4E.k.Ue646.2UEC.6..mEw7169rwKiEw3c0Cy2xBqqmU1xB..i V.E..U6U..HE.6wlgR0Oxad.az86Utj00LCjaUojC8.Px.... --- end of encoding --- |
Автор: | Trurl [ Суббота, 09 Декабрь, 2017 17:52 ] |
Заголовок сообщения: | Re: B41: синхронизация со сборкой Центра BlackBox 1.7 |
Евгений Темиргалеев писал(а): По первому пункту, нужно добавлять в Delete и в Rename Зачем? Если не можем переименовать a в b из-за ошибки доступа к a, нет смысла пытаться переименовать его в с. |
Автор: | Евгений Темиргалеев [ Суббота, 09 Декабрь, 2017 22:02 ] |
Заголовок сообщения: | Re: B41: синхронизация со сборкой Центра BlackBox 1.7 |
В подробностях логика детально расписана с примером. (не работает) правки внесены (работает) Пока мне не ясно, как Ваши рассуждения её опровергают. |
Автор: | Иван Денисов [ Воскресенье, 10 Декабрь, 2017 08:16 ] |
Заголовок сообщения: | Re: B41: синхронизация со сборкой Центра BlackBox 1.7 |
Евгений Темиргалеев писал(а): Для того, чтобы компилятор не спрашивал, нужно опцию в компилятор добавлять, а не в HostFiles. Иван Кузьмицкий идею такой опции компилятора в начале 2014 года высказывал. Результат можно посмотреть в дельте E20. Если правильно помню, то мотивировали тем, чтобы не лезть лишний раз в компилятор. К тому-же такой тихий режим полезен для консольных приложений, которые не имеют возможности задать вопрос в виде диалогового окна. |
Автор: | Trurl [ Воскресенье, 10 Декабрь, 2017 10:18 ] |
Заголовок сообщения: | Re: B41: синхронизация со сборкой Центра BlackBox 1.7 |
Евгений Темиргалеев писал(а): В подробностях логика детально расписана с примером. Да вот логики-то я и не вижу. Вот цикл подбора: new := какое-то имя; MoveFile(old, new); если файл new уже существует (ERROR_FILE_EXISTS) выбираем новое new и повторяем. Остальные ошибки относятся к old или к каталогу и переименованием new не решаются. Если у нас нет прав на создание odc0000, то нет и прав на создание odc0001. Если old заблокикован, он не разблокируется от изменения new. |
Автор: | Евгений Темиргалеев [ Воскресенье, 10 Декабрь, 2017 15:10 ] |
Заголовок сообщения: | Re: B41: синхронизация со сборкой Центра BlackBox 1.7 |
Trurl писал(а): new := какое-то имя; В этом Вы правы.MoveFile(old, new); если файл new уже существует (ERROR_FILE_EXISTS) выбираем новое new и повторяем. ... Моя ошибка оказалась в том, что проверял под wine. Cейчас посмотрел на вирт. машине в винде. Винда всегда выдаёт ERROR_ALREADY_EXISTS, а вайн, в случае если конкретный файл не доступен, выдаёт ERROR_ACCESS_DENIED. Поэтому эти правки для виндового HostFiles не правомочны. |
Автор: | Евгений Темиргалеев [ Воскресенье, 10 Декабрь, 2017 15:17 ] |
Заголовок сообщения: | Re: B41: синхронизация со сборкой Центра BlackBox 1.7 |
Иван Денисов писал(а): Если правильно помню, то мотивировали тем, чтобы не лезть лишний раз в компилятор. К тому-же такой тихий режим полезен для консольных приложений, которые не имеют возможности задать вопрос в виде диалогового окна. Вы там уже столько раз залезли в компилятор, что можно уже не бояться.Но даже если эта функциональность обеспечивается вот этим решением через HostFiles, то её стоит явно оформить как фичу. |
Автор: | Trurl [ Воскресенье, 10 Декабрь, 2017 18:28 ] |
Заголовок сообщения: | Re: B41: синхронизация со сборкой Центра BlackBox 1.7 |
А если у нас нет уверенности, какие коды ошибок могут возникнуть и что они означают (для винды тоже нет нормальной документации), может их вообще не проверять? Код: UNTIL (res = ok) OR (n = 0); Можно бы и вообще от циклов избавиться, используя WinApi.GetTempFileName. |
Автор: | Евгений Темиргалеев [ Понедельник, 11 Декабрь, 2017 12:22 ] |
Заголовок сообщения: | Re: B41: синхронизация со сборкой Центра BlackBox 1.7 |
Trurl писал(а): Можно бы и вообще от циклов избавиться, используя WinApi.GetTempFileName. Резонно. У меня были похожие мысли -- при условии использования генератора более стойкого к коллизиям. А тут, оказывается, есть системная функция, которая делает тоже самое и со стороны системы гарантирует уникальность имени. Сохранять совместимость с более ранними, нежели WindowsXP, версиями, наверное, уже смысла никакого не имеет.Кстати, ограничение в 8 букв и другой алгоритм подбора в Rename (инкремент последней литеры в имени) выглядят как очень древние ограничение и оптимизация. |
Автор: | Евгений Темиргалеев [ Понедельник, 11 Декабрь, 2017 12:39 ] |
Заголовок сообщения: | Re: B41: синхронизация со сборкой Центра BlackBox 1.7 |
В замечаниях к GetTempFileName, однако, есть подводные камни: - файл с подобранным именем создаётся, что не нужно при подборе имени для MoveFile - алгоритм подбора "limits GetTempFileName to a maximum of 65,535 unique file names if the lpPathName and lpPrefixString parameters remain the same". Ниже предлагают для большей надёжности использовать GUID-ы. Может быть, имеет смысл применить подобный механизм -- время/случайное число. |
Автор: | albobin [ Понедельник, 11 Декабрь, 2017 12:53 ] |
Заголовок сообщения: | Re: B41: синхронизация со сборкой Центра BlackBox 1.7 |
А почему для генерации временных имён не использовать бы PID (ид процесса)? |
Автор: | Trurl [ Понедельник, 11 Декабрь, 2017 13:46 ] |
Заголовок сообщения: | Re: B41: синхронизация со сборкой Центра BlackBox 1.7 |
Евгений Темиргалеев писал(а): В замечаниях к GetTempFileName, однако, есть подводные камни: - файл с подобранным именем создаётся, что не нужно при подборе имени для MoveFile - алгоритм подбора "limits GetTempFileName to a maximum of 65,535 unique file names if the lpPathName and lpPrefixString parameters remain the same". Да, уже натнулся, вместо MoveFile надо MoveFileEx с флагом MOVEFILE_REPLACE_EXISTING. Но тут как бы гарантируется, что между созданием имени и его использованием никто не создаст файл с тем же именем. 65535 должно хватить. Нынешний алгоритм тоже пятизначные номера генерирует. |
Автор: | Евгений Темиргалеев [ Пятница, 15 Декабрь, 2017 01:16 ] |
Заголовок сообщения: | Re: B41: синхронизация со сборкой Центра BlackBox 1.7 |
А где Ваши правки? Я бы взял готовые, чтобы велосипед не изобретать. |
Автор: | Trurl [ Пятница, 15 Декабрь, 2017 11:50 ] | ||
Заголовок сообщения: | Re: B41: синхронизация со сборкой Центра BlackBox 1.7 | ||
Вот. Только там много изменений. Выделил зеленым, что к делу относится.
|
Автор: | Trurl [ Пятница, 15 Декабрь, 2017 14:33 ] |
Заголовок сообщения: | Re: B41: синхронизация со сборкой Центра BlackBox 1.7 |
Евгений Темиргалеев писал(а): Цитата: A flag is needed for suppressing the OK/Cancel dialog when creating a new directory Этот пункт на мой взгляд тоже весьма сомнительный. independent from option 'ask'. This makes it possible to use HostFiles without any changes in an automatic build system because the CP compiler always uses option 'ask'. Reported by Josef Templ, 2015-05-29. Для того, чтобы компилятор не спрашивал, нужно опцию в компилятор добавлять, а не в HostFiles. Кстати, в HostFiles уже есть хак для этого. Код: IF loc.res = 76 THEN
|
Автор: | Иван Денисов [ Пятница, 15 Декабрь, 2017 23:36 ] |
Заголовок сообщения: | Re: B41: синхронизация со сборкой Центра BlackBox 1.7 |
Игорь Анатольевич, разумная реализация создания временных файлов. Меня эти 200 попыток создания файла всегда смущали. Есть основания полагать, что с этим недочетом связан очень редкий баг https://redmine.blackboxframework.org/issues/31 А есть для Linux аналогичная команда GetTempFileNameW ? Вроде нашел её https://linux.die.net/man/3/mktemp Это то, что надо, на ваш взгляд? |
Автор: | Trurl [ Суббота, 16 Декабрь, 2017 11:33 ] |
Заголовок сообщения: | Re: B41: синхронизация со сборкой Центра BlackBox 1.7 |
По смыслу ближе mkstemp. Хотя mktemp тоже подходит, и с ней даже проще, но есть маленький риск, что другой процесс вклинится и использует только что созданное имя для своих целей. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |