DevCompiler.CompileSubs need cleanup

Post Reply
luowy
Posts: 87
Joined: Thu Dec 17, 2015 1:32 pm

DevCompiler.CompileSubs need cleanup

Post by luowy »

This procedure does not clean up resources , so the last module file will be opening until next compile action;
it's easy to check this issue:
1,create a sub with only single src module; Test/Mod/Clean.odc, and close it;
2,do the command "^Q DevCompiler.CompileSubs Test ",
3,delete the module file "Clean.odc" in the file browser, The system warns that the file is being used;
4, compile a module(any) in BB, then the Clean.odc file can be deleted!

the fixup is:

Code: Select all

StdCoder.Decode ..,, ..JQ....3QwdONl9RhOO9vRbf9b8R7fJHPNGomCrlAyIhgs,CbKBhZ
 xi2,CoruKu4qouqm8rtuGfa4.hOO9vRb1Y66wb8RTfQ9vQRtIdvPZHWKqtCa.E.U5UWq.6.5Qw
 dONlnayKmKKqCLLCJuGqayKm6F9vQ5nsH3.bnayKmKa2,Cor.kay4.qorGqmQCU2,CJuyKtQC9
 8P9PP7ONbXmb.2.Qi2k5kpG.,6.kf4.86.QC18RdfQHfMf9R9vQ7ONb1E.kHE.0.p.0.4.0EJY
 jyC.6.VQ.k3k.8Mtf.2.m00.e,2.AU.Ue.E.mP,U9U.Q1IU0Ky8.,Uq.,UO.,.1.e0M.6YE.O,
 .3c36.7c.QU0Ky8.,UbU.2.e,2..e06.2UE04.GE,9T3U...p.0kzV.EJ.2U.2GEGk.q.6.AU1
 .JF.YUVU.I0wz72eGxd1hc2heGhcUQcjhhkBhghgHhiWRieQbBAV7oe,JeUQipJgABhnZiu2YC
 BghhgCxhYhgU2Ze2YdphUYiZ3johiVZhUwhmZgZJiUIZdQbUogdZhZZddRio,.r76Fd8,,5vPP
 9QHXUwhmZAk4ak2aEnaKqKKR0Gb44.NvP5fC,dFH9P9vQR7HTvM19RTfQr76RPMPPNp76BOOEb
 4qqQbBAV7AVqJbUoedhAb1QbUYiu2YIhgsZiBVglaUv2YZJimxhmJbUIcDxdAhc,pdvgV7Ic3x
 c7pdBAV7gdVRhZRepJAnvQdPNPvQFtQffMEK0GnaKqY7AZvgV7cN66pND,dNH9Pm2in4ak2SJY
 aIaKIEOqo66576ROGN867uHPM0HM0b8R79FHPMNvPDf9DONdvIffMNuP598BPONHLuqk69,d6P
 uP7f6N76NvP599,dP1PPamRqk2cR,dCv76hOO9ntwdgZgKBBWGqyql..aIX0GIOLECGEu2H76B
 76FdRaod0Ge2Dh0bHfkI0GeWoWuo4aU7AVo3YugbUoicYeZ3Dkt.Hd9d8OHvQPuP7PNWmIin4k
 2GorWGumGECJuGKayqnuGuKKwYZU2ag2YYhgaxhkZig2YZJimlIin4a.HMGggmJC0GeWoW2YKB
 BCbD3iZphcoig2Yg,EKod7Z7rN1M0GomOra4Ktiqm8rtumdWqrSLXaKtCLuKIt8rr2ZoZ3dONo
 8kkuqwamRq.aUnxhpJiXhgG3Yug5ROGNuCPM0A,LONZfP99PRtENPN1fPf9QrN1HU7cI98JfeI
 RO1HM0akWuIWqk2ak2kRq.O40GRcNc9KKwGr4ak2K2kt.UC,Q7..MFRGECorq4Q8Qb0CyIhACo
 ruKu8rrmKqKKtCLLYC58RZ9P7ONbvM,Mwd0.UiQcjpho,YcZRiX3.5011.85...CLL.U2V.IS6
 .636.M00.,..1cUXDJ9XGhighgmRiiQ88pum470,Mwd0UnpZGhighA70,cw56.2U.kJl1kFF.0
 U1Ws,QiiQ8CJuaLqKKWKqt2Ul1.RVtZBE.8T22.,.E2EhE.0.32.oZ,ZC.GYn7.G.0..676.16
 .6.665hK2.,6TxR.WnlM.M.6.,U0Ky8.,..e,2.A.c8m50.,6Y1.0..BN....
 --- end of encoding ---
Zinn
Posts: 123
Joined: Mon Nov 24, 2014 10:47 am
Location: Frankfurt am Main
Contact:

Re: DevCompiler.CompileSubs need cleanup

Post by Zinn »

(1)
A similar problem: When I edit a document (file) inside BlackBox, save it and close the edited window. The document (file) is still allocated by BlackBox and can't be deleted before I leaving BlackBox.
(2)
Another problem is: I have open a file in BlackBox twice (the same file open first interactive and open second via program) and close the second one via procedure Close inside the program. Then the interactive file will Trap after further use. This kind of problem about using Close exist since BlackBox version 1.5 There is something different to version 1.4 I don't know what it is.

- Helmut
luowy
Posts: 87
Joined: Thu Dec 17, 2015 1:32 pm

Re: DevCompiler.CompileSubs need cleanup

Post by luowy »

Zinn wrote:(1)
A similar problem: When I edit a document (file) inside BlackBox, save it and close the edited window. The document (file) is still allocated by BlackBox and can't be deleted before I leaving BlackBox.
(2)
Another problem is: I have open a file in BlackBox twice (the same file open first interactive and open second via program) and close the second one via procedure Close inside the program. Then the interactive file will Trap after further use. This kind of problem about using Close exist since BlackBox version 1.5 There is something different to version 1.4 I don't know what it is.

- Helmut

1) I fixed this issue a long time ago, forgot to submit this patch to the center;here you can check it:
HostFiles

Code: Select all

StdCoder.Decode ..,, ..BZ....3QwdONl9RhOO9vRbf9b8R7fJHPNGomCrlAyIhgs,CbKBhZ
 xi2,CoruKu4qouqm8rtuGfa4.hOO9vRb1Y66wb8RTfQ9vQRtIdvPZHWKqtCa.E.U5UO5,2.5Qw
 dONlnayKmKKqCLLCJuGqayKm6F9vQ5nsH3.bnayKmKa2,Cor.kay4.qorGqmQCU2,CJuyKtQC9
 8P9PP7ONbXmb.2.Qp4k5kFP.,E.EU7.86.QC18RdfQHfMf9R9vQ7ONb1E.kHE.0.p.0.4.I3tf
 j1.0E65.A.AU0Ky8.,Ub.,UO.,kmqA0E.e0.,6YU1V0IkmL,6..EBU.wT2U.EJ.6.V2I,AU9i.
 yz2WGJ0mtGromKq0mouKEKrtKKEqHT0mq4qpKKEaKu0mkuqruqwqqrKrtmGECLu4KuKKRqHEWq
 oGKmKKr0GJam4aEc8pbCoWGoe8pW0mVWqmCqpCIqyqtKKJWGqyqleHayql4KuyKtinYuIEuqkq
 qmenU8Jd4og0mbOIECIY4IdiHf4Id0GtKqtenYuIeKoXKIdamRqk2aEf4Id0GnuqkqqmocpZhg
 pdVhBrN1H.ohphhg2YiJbUAdCZe3Vv2YaJbUocdZhZRbUYih3iu2Y4higZBEE4KuGbu2YHhcIR
 bBAV0hc5BdChV7AV,ReHhcGZec2ZgxB,t6,dHH8HHd7F7PTHL0rkGLo0mF0mHSmImGN0nIin4a
 U,,ohVhB,t6,t7mGN4nIin4a.V9Q9fP798NvP.N76RPMPHK0GF8GK0GqyqlghV3jAhgiZZUogi
 BAamRq.BfCv7JFPObfFH9P998BfP11kYOIIOKEqHEuoYm2UmxhjZiAhgi3Yy2YkAZUYe6hcC3Y
 cIZgxhX3YdRiUwggxhWBggJZdg,HM0DONdvIFPM7vPj9FHfQF7PTHK0Gnu4.HME.BfP1XgcP11
 80ELq469.H,ogUIbx2YI3hdRC..gcCZcvg,HM1HM0HeF,78B96576R0ogiIiZpgUQYUAhipiVZ
 hdZgd2YIVcIZUQC........J,aEtKqt0GRqHESpouqU0roumVmqrCb6BgiZgghgcogiICamR0G
 nuGt66pVdphq,rN0Fd84mE4GEemIq.4KuGLt0WxcEH8Jb88jOOR1SomGLXaKqAcoZimBBkfWGn
 uqkkIin4M01uIUVZio76576r9ARd9POEl88bOFdO8v99,NAVNAHtCP.HWLBhi,BOGNOFzOEd8J
 ZOG3OJKoj8pW4IWyIbmog0GJ0mkGLuMD,tSv96d8GgV7M0HcPfPP,dCv76j0sFYedRgfRcjhii
 ZicAZv2Yi3Yug5Z7AVtCPM0AVGhcEhc,ZeBAV7AV7sFYeZhhkpcdFb4qqKKImqrCak,Grq0LKu
 qIiHEaIbCIIuquqqIiHEGoWCIIuqIin4k2A7.Qcj3itpcdZhZxecogiVg6RPXlAZUQYU2aUYe6
 h6,N1HM0a.H0.bONdfFMEMOMN6RP9Q4KuGbUQZUwedpBcF..2d7Zc2hcC32M0..QZLBhiB6..U
 IhcB3eDJe,JeNBZx2Yk2YBAV7M0Ye6hcCV7M0cQ.j0sFYdVRiohcmJijJicAZBAV7M0gcARe3h
 V7A,H.Z1sPLP1HM0a.9eH.HkWm2,dQ9vQ,,jGr...U7MFRm4a.HMJR8JH8H,78ZPNbnF0GnaKq
 KqWWroCLuCrW8LtaGEOGEWGtK4AggJiZBgYBj33jd,..0rk8rkqqW8Lta0FdQ9vQsQFPMZPORv
 N9eQZnb8JEWGr0mS0GMamR0m4ak2AV7FtK4v76TvO,7JFOFq.aUapZnZiVZC,dCvFo.r76Bf9R
 PMPHEenSYih3iYQbBU7g6.NWBM0aEtERsRZPOdPNVeQT9R9vMdPN7PFZfQPM0HkWu2g6i19eH0
 mVWqmEqkR8ssHpmWb1xhiZimxhgZhZJinpZHZC58RZ9P7ONbvM,Mwd0.UiQcjpho,YcZRiX3.5
 011.85...CLL.U2V.IS6.636.M00.,..1cUXDJ9XGhighgmRiiQ88pum470,Mwd0UnpZGhighA
 70,cw5.,6.Qp.k1kF1.,6.CcI,ktumdsIdPSNPN7ONbH.4D.o3aLq.,cwFE.2..F.p0,6.IE.E
 L4IuMOU2V.6,6..UYU.AU.6.0.0mFf3,E.mLT5UsQA4.4.0E.cUZj0E..UO.,.1.eG.U.E.0t.
 U...wQ1...
 --- end of encoding ---
HostWindows

Code: Select all

StdCoder.Decode ..,, ..sO....3QwdONl9RhOO9vRbf9b8R7fJHPNGomCrlAyIhgs,CbKBhZ
 xi2,CoruKu4qouqm8rtuGfa4.hOO9vRb1Y66wb8RTfQ9vQRtIdvPZHWKqtCa.E.U5U3p.6.5Qw
 dONlnayKmKKqCLLCJuGqayKm6F9vQ5nsH3.bnayKmKa2,Cor.85PuP.MHT9N9nt.G2sIdvPZnt
 gcghghZcZRC8T0E.E9G.T.R6,2U..n486.QC18RdfQHfMf9R9vQ7ONb1E.kHE.0.p.0.4.I3tf
 j1.0E65.I1AU0Ky8U.2.m00.e,2.AU.Ue.E.mP,U3.,W.IU0Ky8.,..e,2.9PnE.e0.,6YUoU.
 IMIUf.l.3MU1.Z.zT0VeITuE98FfeI986F7Np767OOZPN59RTnwaGECIqyqtKKJ0GISLR0mfaK
 rGqrSrtumfaKrG4HtCPM0HcJ1eI,dRN76ffC,tJH1C5Uv2YcJbUwed,qk2a.YhjRguocdZhZRi
 iYdjRgVZijJivohVhhZJbUocdZhZFb4qqKqR0GtKqtenYuIeKoXKIdin4aEVKoXaIbqk2aEo0G
 RqHESrouqUuqlWqr8rR0mfWoYmoW0GIWKLuqmWLu0mF0GbaIaaGEOGEWGou0UrBZUYcD3Yc3Yu
 g5Ff9R1KIbGoRqk2akYOIEWKLu4gbUwiUYe6hcChV7M0HWyxiiQipJgUYe6h6k2OLEenS0mvuG
 qaKriqRqk2AV7we6BdAFv0mF0mv0GWyIEKLEenS0GvuGqaKr66hf958PTvQiHEOLEenSgiUgcC
 Z6k2mqrCKRqnvuGqyqliHr4qqIbxwiiohVhhZRbBA,KIaCpW0GqyqleXCBdARbBA,od2R5sRRt
 ENvPM1HU7FImqrCKECGEuYAd7F7PTvMaod0GYyqtGLXaKqEaMMM8,d7F7PTHIWorC5.AAc9VPM
 d9O,t6,t7DN8,d7FdP1PP0mF0GF8mIGJYKIb0m4ak2ak2WKRqnvaKr42c9RPNlnRqk2M0j023,
 t6uoY6668Ff9NvP596v76ROGNWDJeU2ZcdP1PPgbUIYWAZUwdGdTBOON17POZf9bOMPPNBOONP
 NF7PTvMN76RPMPHK0GouGq69WKLu4amI0GWyo4ak2A,F966OgAqk2aU7g62YBAV7M0HWc3Yx2Y
 CFEGJYK2Fd8,dAVNAZd9VNBRNAV76,tMNvP2YYxhX3YaBhg76JN8PM0HM0HEYyqtG5QC58O9vM
 LvENvPbHImqr23.6HAA69,dP1XgcQ9vQHtCP.HMFM1.00K2PM09eH0mVmqrsC3QwdONQcjphoJ
 ijZhghgmRiiQeotEdfQN9F9vQ59.XDJ..oZ1xhiZCU2hgnRg.sEMM.Et...ktu0.Y62Um1,.dE
 .2.A,,E.0..4E,5TeK4ZORNPNZvQRtIIepZBG20ksH3.bf9ZORNPNG20EtD.2.i8S.C80E.QE.
 sQRtIQeoBjghg2hgn7.X5.u0n9PU.Iy66.0.U6UOV.2.86.c918R.Y62.7.,..Y22U,2.2.2YX
 K90U.YjyC.ltMA.A.2U.E,9T3U...p.0.4.I3E.6.VQ.E...qS1...
 --- end of encoding ---
The blue text is the added code,after patching and compiling, you need to rebuild a new BB exe file to replace the old one

Code: Select all

DevLinker.Link
BlackBox2.exe := Kernel$+ Files HostFiles StdLoader
1 Applogo.ico 2 Doclogo.ico 3 SFLogo.ico 4 CFLogo.ico 5 DtyLogo.ico
1 Move.cur 2 Copy.cur 3 Link.cur 4 Pick.cur 5 Stop.cur 6 Hand.cur 7 Table.cur
2) if you want to open a file in BB command script(program) and close it as soon as possible, the better way is used "exclusive" mode instead of "shared" at first:

Code: Select all

  f:=Files.dir.Old(loc, name, FASLE); canClose:=TRUE;
  IF f = NIL THEN
     f:=Files.dir.Old(loc, name, TRUE); canClose := FALSE;
  END;
  ..
  IF canClose THEN f.Close() END;
Because document editing always uses shared mode files, before patch, the close window did not close file, and some service action, some global variables maybe holding it...if you open file with shared mode and will get the opening file,forcibly closing it will get traps! so the principle is: Only close exclusive files!
luowy
Posts: 87
Joined: Thu Dec 17, 2015 1:32 pm

Re: DevCompiler.CompileSubs need cleanup

Post by luowy »

How to test the effect of this patch:

before the patch
1, open a document, and close it
2. delete its files in the file browser of the OS, the delete operation can be completed
3, restore the file from recycler,reopen it's document in BB
4, copy a selection text using "ctrl+c", and close it's window
5, delete its files in the file browser of the OS, the delete operation can't be completed!

after the path:
1,2,3,4 same as before
5 is different , the delete operation can be completed!

that means: a document's file is closed as soon as it's window is closed;
Post Reply