OberonCore
https://forum.oberoncore.ru/

Coming soon: BlackBox Component Builder 1.7 CPC Edition
https://forum.oberoncore.ru/viewtopic.php?f=130&t=5018
Страница 1 из 1

Автор:  Zinn [ Воскресенье, 09 Март, 2014 18:21 ]
Заголовок сообщения:  Coming soon: BlackBox Component Builder 1.7 CPC Edition

I will release BlackBox Component Builder 1.7 CPC Edition soon. My current working version of CPC Edition built on 07.03.2014 contains 66 change points. Are there some changes missing?

List of cange point:
1. Adding Charaters to the Build-Tool, Toolbar to Config & CPC Edition in About
2. Some BlackBox documents correction (Open Points #37)
3. Correction in WinApi
4. Linker DLL bug correction
5. Kernel
6. Open Browser in the same window or in a new windows
7. Expand subsystem name to max. 16 characters (was 9 characters)
8. Report illegal charcters during compilations (Open Points #38)
9. Prevent compiler TRAP 0 by the illegal use of ADR function (Open Points #44)
10. DevCPC486.GetReg: change the register select order (Open Points #53)
11. LONGINT compiler correction (Open Points #32)
12. Remove compiler restriction of code procedure size (Open Points #45)
13. Centralise some Unicode character functions (Part 1: National -> Characters)
14. Centralise some Unicode character functions (Part 2: Characters.Short)
15. Add convert SET to Strings
16. Subsystem Sql corrections
17. OberonCore Dev changes (part of B1 .. B17)
18. OberonCore Host changes (part of B1 .. B17)
19. OberonCore Std changes (part of B1 .. B17)
20. OberonCore System changes (part of B1 .. B17)
21. Add WrappedView used by Hermes (Open Points #03)
22. Speedup ObxActions
23. Underlining spaces (Open Points #59 & #60)
24. Use subystem & module name in registry subkeys
25. Portable BlackBox with ini-File BlackBox /PORTABLE
26. NextBox (popup menu, shortcut keys, mouse wheel support) (Open Points #58)
27. ProjectAll
28. Add missing name into the contributor list
29. Add Windows 7 & Windows 8 to platform
30. Utils
31. Feature that adds redraw with any changes of the window size
32. Fix trap by Info → Analyse Module (Open Points #41)
33. TextCmds.Left/RightTerminator: Fix the search with Word Begins/Ends
34. Speed up the dump of a large data structures
35. Commanders correction B11
36. ODBC Bug (Open Points #36)
37. Using Characters in Strings
38. DevCPT.IdFPrint does not take care about the system flags.
39. Folds in Wine.
40. Cut & Paste (RTF Converter)
41. Multiple languages support ‹‹for Info -> Documentation & Info -> Search In Documentation
42. OberonCore release B18 .. B23
43. Dialog.Beep
44. Add beep & language to preference
45. Missing characters in ThisWndChar and WriteWndChar (Open Points #06)
46. ExpandHook for custom tags added
47. dialogCommand improved, OpenPage with global page numbering (Open Points #12)
48. Bug in HostMenus when the label of a menu item is changed by a guard procedure
49. Cleaning up underlined white space in Info -> Repository
50. Stack overflow (Open Points #62)
51. Using Wingdings or Wingdings 3 for arrows
52. Add and use IsWindows, IsMac, IsLinux & IsWine
53. DevLinker limit by linking DLL (Open Points #15)
54. Identifiers exceeding 32 characters (Open Points #14 & #57)
55. Max numbers of columns of SQL table controls (Open Points #09)
56. Printing.NewDefaultPar: par.header.font, par.footer.font (Open Points #39)
57. OutObject.Invoke: system flag [nil] added (Open Points #01 & #02)
58. Change style of edit field Patch for HostCFrames (Open Points #04)
59. Unexpected Repository Behavior (Open Points #05)
60. Difference title bar for documentation, source and resources
61. Write search pattern to the output window
62. Change DLL Name from SHORTCHAR to CHAR
63. Add link Characters to DevLinker dokumentations
64. File write error with Windows 7
65. Report modified IN parameters during compilations
66. Sort menu alphabetically

End of List.

Автор:  Иван Кузьмицкий [ Воскресенье, 09 Март, 2014 20:20 ]
Заголовок сообщения:  Re: Coming soon: BlackBox Component Builder 1.7 CPC Edition

Nice work

Автор:  Иван Денисов [ Суббота, 15 Март, 2014 18:18 ]
Заголовок сообщения:  Re: Coming soon: BlackBox Component Builder 1.7 CPC Edition

Good job!

I have just found the problem with Cyrillic letter «Я» in procedures and variables. Please, fix it in next release.

Вложения:
russian_letter_fix.png
russian_letter_fix.png [ 20.44 КБ | Просмотров: 22184 ]

Автор:  Zinn [ Суббота, 15 Март, 2014 23:30 ]
Заголовок сообщения:  Re: Coming soon: BlackBox Component Builder 1.7 CPC Edition

Sorry, currently I have no solution for that problem. Should I delay the release?

Автор:  Димыч [ Воскресенье, 16 Март, 2014 11:45 ]
Заголовок сообщения:  Re: Coming soon: BlackBox Component Builder 1.7 CPC Edition

Zinn писал(а):
Sorry, currently I have no solution for that problem. Should I delay the release?

There is a solution in attached file.

I've changed Cyrillic character ranges.

http://www.unicode.org/Public/UCD/latest/charts/CodeCharts.pdf, ranges 0400-04FF, 0500-0527.

Save it to System/Mod/, recompile and do not forget to rebuild *.exe file.

Please do not postpone release :)

Вложения:
Комментарий к файлу: Correct Cyrillic unicode ranges inside
Characters.odc [5.65 КБ]
Скачиваний: 936

Автор:  Роман М. [ Воскресенье, 16 Март, 2014 15:03 ]
Заголовок сообщения:  Re: Coming soon: BlackBox Component Builder 1.7 CPC Edition

As far as I remember Ivan N. Goryachev proposed a different approach in support of Unicode, using Kernel hooks to WinApi implementation. IMO his solution is more clean and language-independent.

Автор:  Димыч [ Воскресенье, 16 Март, 2014 15:12 ]
Заголовок сообщения:  Re: Coming soon: BlackBox Component Builder 1.7 CPC Edition

Роман М. писал(а):
IMO this solution is more clean and language-independent.

Which one? :)

Автор:  Роман М. [ Воскресенье, 16 Март, 2014 15:14 ]
Заголовок сообщения:  Re: Coming soon: BlackBox Component Builder 1.7 CPC Edition

Димыч писал(а):
Роман М. писал(а):
IMO this solution is more clean and language-independent.

Which one? :)
Updated. Changed "this" to "his".

Автор:  Димыч [ Воскресенье, 16 Март, 2014 18:17 ]
Заголовок сообщения:  Re: Coming soon: BlackBox Component Builder 1.7 CPC Edition

Роман М. писал(а):
IMO his solution is more clean and language-independent.

Well, there was no general solution proposed yet. Mr. Zinn made (included) partial solution for Cyrillic and Greek languages. I understand that having Unicode implemented will be a great feature for BB, but general solution is quiet difficult (take a look to ICU, for example).

By the way, being locked by WinAPI solution is not a good idea, especially with cross-platform development in mind.

So, I think that Character system module is a good start for full Unicode in BB. That is why I made my fix.
Also, we can add languages on community demand, language by language. We have active Russian community, thus we have Russian language included, others can add their own too.

Автор:  Zinn [ Понедельник, 17 Март, 2014 10:59 ]
Заголовок сообщения:  Re: Coming soon: BlackBox Component Builder 1.7 CPC Edition

Hello Димыч, thank you for your solution. It works great. I add it to the CPC-Edition. I need about 3 weeks to finalize the new version.

Автор:  Роман М. [ Понедельник, 17 Март, 2014 15:13 ]
Заголовок сообщения:  Re: Coming soon: BlackBox Component Builder 1.7 CPC Edition

Helmut, you can release Release Candidate version 1, then RC2 etc until final release when you decide it is stable enough.

Димыч писал(а):
Роман М. писал(а):
IMO his solution is more clean and language-independent.

Well, there was no general solution proposed yet. Mr. Zinn made (included) partial solution for Cyrillic and Greek languages. I understand that having Unicode implemented will be a great feature for BB, but general solution is quiet difficult (take a look to ICU, for example).

By the way, being locked by WinAPI solution is not a good idea, especially with cross-platform development in mind.

So, I think that Character system module is a good start for full Unicode in BB. That is why I made my fix.
Also, we can add languages on community demand, language by language. We have active Russian community, thus we have Russian language included, others can add their own too.
A key point is "partial solution". Instead, Ivan Goryachev proposed to delegate language-specific domain to OS/library level.
No problem with WinApi at all, as it remains wholly in subsystem Host. So I think it's a clever decision with consideration of cross-platform development in mind.

Автор:  Иван Денисов [ Вторник, 25 Март, 2014 10:17 ]
Заголовок сообщения:  Re: Coming soon: BlackBox Component Builder 1.7 CPC Edition

I had tested a little the "BlackBox 1.7-RC1". Thank you for your work.

Now, there are no problems with Russian letter "я" in module names, procedures and variables.

However Cyrillic module names are reported with wrong encoding during the unloading process (there are ok during compilation). Also Code and Sym files created with wrong encoding. If you improve this, that will be great.

Вложения:
zinn.png
zinn.png [ 17.42 КБ | Просмотров: 21978 ]

Автор:  maliya [ Вторник, 25 Март, 2014 15:14 ]
Заголовок сообщения:  Re: Coming soon: BlackBox Component Builder 1.7 CPC Edition

Try add this patch,

DevCommanders.Scan

Код:
   PROCEDURE Scan (VAR s: Scanner);
      VAR done: BOOLEAN;i:INTEGER; ch:CHAR; <<add
   BEGIN
            .....
             
    >>add
     IF (s.s.type =ident) OR(s.s.type= qualident) THEN
         i:=0;ch:=s.s.string[0];
         WHILE ch # 0X DO
            IF  Characters.IsCyrillic(ch) THEN s.s.string[i]:=Characters.Short(ch); END;
            INC(i);ch:=s.s.string[i];
         END;
      END;
    <<
   END Scan;


PS:
the code file name,and sym file name is nonprintable in my pc,
but it is workable.

Автор:  maliya [ Вторник, 25 Март, 2014 17:00 ]
Заголовок сообщения:  Re: Coming soon: BlackBox Component Builder 1.7 CPC Edition

DevCPS.Identifier
Код:
  (*name[i] := ch;*)
  IF Characters.IsCyrillic(ch) THEN name[i] := Characters.Short(ch); ELSE name[i] := ch; END;

Автор:  Димыч [ Среда, 26 Март, 2014 11:09 ]
Заголовок сообщения:  Re: Coming soon: BlackBox Component Builder 1.7 CPC Edition

Next message is for Russian members.

Коллеги!
Поскольку многие из вас выступают контрибуторами для разных дистрибутивов, в том числе и для дистрибутива mr. Zinn'a. Напишите, пожалуйста, здесь (или приватно mr. Zinn'у) соответствие своих ников/реальных имен латинскому написанию ников/реальных имен.

Это облегчит общение с участниками, не говорящими на русском языке, в том числе написание списка участвовавших в доработке.

Спасибо.

Автор:  Роман М. [ Среда, 26 Март, 2014 13:38 ]
Заголовок сообщения:  Re: Coming soon: BlackBox Component Builder 1.7 CPC Edition

I started a new topic: Module Characters.

Автор:  Zinn [ Четверг, 03 Апрель, 2014 12:20 ]
Заголовок сообщения:  Re: Coming soon: BlackBox Component Builder 1.7 CPC Edition

What is the reason for the patch in DevCommanders.Scan and in DevCPS.Identifier? What is the different? Have you an example which doesn’t run without this patches? As far as I understand we needn’t this patches at all.

Автор:  maliya [ Четверг, 03 Апрель, 2014 13:19 ]
Заголовок сообщения:  Re: Coming soon: BlackBox Component Builder 1.7 CPC Edition

Цитата:
What is the reason for the patch in DevCommanders.Scan and in DevCPS.Identifier? What is the different? Have you an example which doesn’t run without this patches? As far as I understand we needn’t this patches at all.

though the compiler register a code file(precedure) name is CHAR,and StdLoader.Name is CHAR.
but for Kernel.Name is SHORTCHAR, when load code file, the name will be shorten.
the russian char(which is two byte in my code page 936)will be cut to a wrong shortchar,
and the file name will be shorten to a wrong name, then the loader will not find code file.

the call chain:
DevCommanders(long)--> StdLoader(long)-->Kernel(short)

example:
Цитата:
Russian letter "я"


Код:
MOUDLE Testя;
  IMPORT StdLog;
  PROCEDURE Doя*();
  BEGIN
     StdLog.String('Hello Testя');StdLog.Ln;
  END Doя;

END Testя.
^Q Testя.Doя

Автор:  Zinn [ Четверг, 03 Апрель, 2014 16:01 ]
Заголовок сообщения:  Re: Coming soon: BlackBox Component Builder 1.7 CPC Edition

There may be some misunderstanding.

1. Unicode (16 bits = CHAR) replaces the old obsolete ASCII with code page (8 bits = SHORTCHAR). Using Unicode you need no code page at all.

2. Inside BlackBox as long as you are using CHAR don’t translate them back to ASCII with code page with Characters.Short.

3. I already insert Characters.Short inside the Loader for translation from CHAR to SHORTCHAR. So you need not to do it earlier.

4. Your sample program works the same way with and without your patches. Why should we insert this patches?

5. Well, all SHORTCHAR variable should be expand to CHAR, but this is a topic for the future version of BB. After those changes are done then Characters.Short need not any longer.

Автор:  maliya [ Четверг, 03 Апрель, 2014 17:17 ]
Заголовок сообщения:  Re: Coming soon: BlackBox Component Builder 1.7 CPC Edition

Цитата:
There may be some misunderstanding.

1. Unicode (16 bits = CHAR) replaces the old obsolete ASCII with code page (8 bits = SHORTCHAR). Using Unicode you need no code page at all.

2. Inside BlackBox as long as you are using CHAR don’t translate them back to ASCII with code page with Characters.Short.

3. I already insert Characters.Short inside the Loader for translation from CHAR to SHORTCHAR. So you need not to do it earlier.

4. Your sample program works the same way with and without your patches. Why should we insert this patches?

5. Well, all SHORTCHAR variable should be expand to CHAR, but this is a topic for the future version of BB. After those changes are done then Characters.Short need not any longer.

yes, no need this patch anymore! Test work well.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/