Страница 1 из 2

PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 01.02.2017 (Ср) 11:54
jangle
PowerBASIC Has a New Home

Drake Software has utilized PowerBasic for many years and we are big fans. We are pleased to announce first to this group that we have acquired the PowerBasic source code from PowerBasic, Inc. We have developed software for over 40 years, and we intend to continue updating and improving the functionality for this excellent product into the future. We also recognize the unique community that has grown over the years through this forum, and the contribution many of you have made to the success of the product. We are looking forward to continuing that community.


Похоже появилась надежда на что PB не умрет и таки появится 64-битная версия компилятора

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 01.02.2017 (Ср) 12:59
Teranas
А чем он лучше VB6? :)
Я могу понять ещё FreeBASIC :)

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 01.02.2017 (Ср) 13:06
jangle
FreeBasic совсем сырой, даже сейчас. Хотя 64-битную версию выпустили это плюс

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 01.02.2017 (Ср) 13:38
Teranas
Щас посмотрел, вся линейка для разработки на PB платная, УЖОС

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 01.02.2017 (Ср) 13:40
jangle
VB6 тоже платный.

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 02.02.2017 (Чт) 18:06
ger_kar
jangle писал(а):Похоже появилась надежда на что PB не умрет и таки появится 64-битная версия компилятора
Ну или в текущей хотя бы пофиксят баги.

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 05.02.2017 (Вс) 18:27
bon818
Супер!
jangle писал(а):FreeBasic совсем сырой, даже сейчас. Хотя 64-битную версию выпустили это плюс

Откуда инфа? Ты сам убедился в этом?
Все хочу чтонить написать на нем, но руки не доходят.
ger_kar писал(а):Ну или в текущей хотя бы пофиксят баги.

Баги вполне предсказуемые а с опытом и правильным кодом перестают появляться-проявляться, вполне можно работать на нем.
А вот без 64-битной версии смерть.

Баг(Из последнего что встретился):
Код: Выделить всё
#Compile Exe
#Dim All

#DEBUG ERROR ON' OFF
#DEBUG DISPLAY  ON' OFF

'----------------------------------------------------------------------------------------------
Function PbMain()
   LOCAL buffer          AS STRING
   LOCAL n as LONG   
   n = -1
   buffer = SPACE$(n) ' buffer > 4gb
End Function
'----------------------------------------------------------------------------------------------

'---------------------------
'Ошибка: Untrapped Error #7 (Out of memory)
'---------------------------


'Ошибка: Untrapped Error #7 (Out of memory)
И собственно понятно почему так происходит.
И меня это вполне устроело бы , если бы эта ошибка всегда появлялась, а не только при включенных параметрах
#DEBUG ERROR ON' OFF
#DEBUG DISPLAY ON' OFF
без этих параметров, ошибка проглатывается, и пойди найди еЁ.

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 05.02.2017 (Вс) 21:53
ger_kar
bon818 писал(а):Баги вполне предсказуемые а с опытом и правильным кодом перестают появляться-проявляться
Ну вообще багов там вагон и маленькая тележка. Некоторые да вполне предсказуемы, а некоторые вообще не очевидны и выходят боком там, где их совсем не ждешь.

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 06.02.2017 (Пн) 1:34
bon818
ger_kar писал(а):Ну вообще багов там вагон и маленькая тележка. Некоторые да вполне предсказуемы, а некоторые вообще не очевидны и выходят боком там, где их совсем не ждешь.

Приведи примеры.

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 06.02.2017 (Пн) 23:46
jangle
ger_kar писал(а):Ну вообще багов там вагон и маленькая тележка.


вранье

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 07.02.2017 (Вт) 10:23
jangle
bon818 писал(а):Баг(Из последнего что встретился):
Код: Выделить всё
#Compile Exe
#Dim All

#DEBUG ERROR ON' OFF
#DEBUG DISPLAY  ON' OFF

'----------------------------------------------------------------------------------------------
Function PbMain()
   LOCAL buffer          AS STRING
   LOCAL n as LONG   
   n = -1
   buffer = SPACE$(n) ' buffer > 4gb
End Function
'----------------------------------------------------------------------------------------------

'---------------------------
'Ошибка: Untrapped Error #7 (Out of memory)
'---------------------------


'Ошибка: Untrapped Error #7 (Out of memory)
И собственно понятно почему так происходит.
И меня это вполне устроело бы , если бы эта ошибка всегда появлялась, а не только при включенных параметрах
#DEBUG ERROR ON' OFF
#DEBUG DISPLAY ON' OFF
без этих параметров, ошибка проглатывается, и пойди найди еЁ.


Проблема в том, что вышенаписанный код является мусором по-нескольким причинам. Бага не увидел.

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 07.02.2017 (Вт) 15:20
bon818
jangle писал(а):Проблема в том, что вышенаписанный код является мусором по-нескольким причинам. Бага не увидел.

Ну во первых, это не какой то рабочей код некой ф-ии, чтоб это можно было назвать мусором.
Это всего лишь всего лишь наглядный пример как получить эту ошибку встроенной ф-и.
Если бы мне было не лень, я эту ошибку встроенной ф-и, мог описать и без строчки кода.
Зато, мусором можно назвать, твой не содержательный ответ.

jangle писал(а):Бага не увидел.

А я вот увидел и поделился этим.
Например в VB Space(Number) Примечание: При отрицательных значениях аргумента генерируется ошибка времени исполнения Invalid procedure call or argument

Я понимаю что нужно делать проверки и все такое.
Но а если уж случилось такое, что я запросил выделить больше памяти чем возможно, то как по твоему должна реагировать встроенная ф-я, которая это и делает?
Что просто проглотить ошибку?

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 07.02.2017 (Вт) 15:40
jangle
Это всего лишь всего лишь наглядный пример как получить эту ошибку встроенной ф-и.


Ошибки нет. Открываем руководство и читаем про SPACE$:

numeric_expression is a non-negative expression that specifies how many spaces the function is to return. SPACE$ can be useful for formatting or prefilling strings


Ты передаешь отрицательное число в функцию, которая требует на вход беззнаковое целое. Сишники говорят в таких случаях - выстрелил себе в ногу.
Компилятор тут причем?

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 07.02.2017 (Вт) 15:45
jangle
bon818 писал(а):Зато, мусором можно назвать, твой не содержательный ответ.


Рекомендую тебе читать больше книжек по-программированию, а то выставляешь себя в глупом виде.

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 07.02.2017 (Вт) 17:08
bon818
jangle писал(а):
bon818 писал(а):Зато, мусором можно назвать, твой не содержательный ответ.

Рекомендую тебе читать больше книжек по-программированию, а то выставляешь себя в глупом виде.

Не понятно, как моя грамотность в программировании, поможет тебе давать содержательные ответы.

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 07.02.2017 (Вт) 17:35
jangle
Грамотность в программировании не даст писать мусорный тест и считать, что он выявляет ошибки, которых на самом деле нет.

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 07.02.2017 (Вт) 17:39
bon818
Действительно, компилятор тут не причем.
И вообще, я не могу припомнить реальные баги, а не кривизну рук и негодные хидеры.

Уточню.
При выделении памяти под строку методом ф-и SPACE$, не нужно ожидать что она сгенерирует ошибку если что то пойдет не так.
Делаем проверку и все будет работать как нужно.
Код: Выделить всё
Function PbMain()
   LOCAL buffer AS STRING
   LOCAL n as Dword
   n = 4294967295 '-1
   buffer = SPACE$(n)

   if len(buffer) = 0 THEN
      ? str$(err)
      '...............
      ' исправляемся
      '...............      
   end if
End Function

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 07.02.2017 (Вт) 17:54
bon818
jangle писал(а):Грамотность в программировании не даст писать мусорный тест и считать, что он выявляет ошибки, которых на самом деле нет.

Ты вообще понимаешь, что я хотел сказать-спросить? (не отвечай, это риторика)
Ладно, с моей неграмотностью разобрались, ответь лучше на это.
jangle писал(а):FreeBasic совсем сырой, даже сейчас.

Откуда инфа? Ты сам убедился в этом?

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 07.02.2017 (Вт) 18:17
ger_kar
jangle писал(а):вранье
Если бы
bon818 писал(а):Приведи примеры.
Ну например при вызовах IDispath::Invoke в параметр, отвечающий за текущую локаль передается неправильный код, в результате реализация использующая код локали (Excel например) получая неправильный код локали работает криво и возвращает ошибку. Убил кучу времени, пока эту ошибку нашел и пофиксил. Если интересно могу скинуть компилятор с пофикшеным багом.
Далее в одной из внутренних функций неправильно инициализируется переменная, Ошибка проявляется только в Windows 7 SP1 32-битной. Если интересно могу скинуть код, на котором это ошибка проявляется и приложение падает. Косяки при работе с COM объектами (библиотека на PB, вызов идет из VB6). В чем причина я так и не выяснил, но VB6 падает, ну и так далее. Если описывать все косяки, то потребуется очень много времени.

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 07.02.2017 (Вт) 19:07
jangle
bon818 писал(а):Действительно, компилятор тут не причем.
И вообще, я не могу припомнить реальные баги, а не кривизну рук и негодные хидеры.

Уточню.
При выделении памяти под строку методом ф-и SPACE$, не нужно ожидать что она сгенерирует ошибку если что то пойдет не так.
Делаем проверку и все будет работать как нужно.
Код: Выделить всё
Function PbMain()
   LOCAL buffer AS STRING
   LOCAL n as Dword
   n = 4294967295 '-1
   buffer = SPACE$(n)

   if len(buffer) = 0 THEN
      ? str$(err)
      '...............
      ' исправляемся
      '...............      
   end if
End Function


Господи, опять бредовый код. Раз тебе так уж хочется упасть с Out of Memory используй трей каэтчи.

Код: Выделить всё
Function PBMain()
  Local buffer As String
  Local n As Dword

  Try
   n = 4294967295 '-1
   buffer = Space$(n)

  Catch
    ? "Ошибка выделения памяти. В Win32 размер памяти на процесс не более 1.75GB!"

  End Try

End Function
             

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 07.02.2017 (Вт) 19:20
jangle
bon818 писал(а):Откуда инфа? Ты сам убедился в этом?


Да. Знакомился с его 64-битной версией. Не понравилось:

- нет удобного редактора
- нет удобного отладчика
- нет оконной библиотеки, сорри но писать в стиле Windows SDK я могу и на С
- трансляция в C++ и его последующуя компиляция MinGW, отсюда потребность таскать с экзешником сишный рантайм,
статически его линковать MinGW не умеет

Понравилось:

- наличие 64-битной компиляции, пусть и через костыль MinGW.
- наличие неймспейсов, препроцессора, сишные типы данных

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 07.02.2017 (Вт) 19:34
jangle
ger_kar писал(а):
jangle писал(а):вранье
Если бы
bon818 писал(а):Приведи примеры.
Ну например при вызовах IDispath::Invoke в параметр, отвечающий за текущую локаль передается неправильный код, в результате реализация использующая код локали (Excel например) получая неправильный код локали работает криво и возвращает ошибку. Убил кучу времени, пока эту ошибку нашел и пофиксил. Если интересно могу скинуть компилятор с пофикшеным багом.
Далее в одной из внутренних функций неправильно инициализируется переменная, Ошибка проявляется только в Windows 7 SP1 32-битной. Если интересно могу скинуть код, на котором это ошибка проявляется и приложение падает. Косяки при работе с COM объектами (библиотека на PB, вызов идет из VB6). В чем причина я так и не выяснил, но VB6 падает, ну и так далее. Если описывать все косяки, то потребуется очень много времени.


Скинь код. Лучше вообще про это отдельную тему создать.
Ты прямо в экзешнике компилятора смог баг пофиксить?

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 07.02.2017 (Вт) 22:36
bon818
jangle писал(а):Господи, опять бредовый код. Раз тебе так уж хочется упасть с Out of Memory используй трей каэтчи.

Хорошо что ты наконец догнал про Out of Memory и число 4294967295 для тебя достаточно беззнаковое.
Но блин. Кто тебе сказал. Да с чего ты взял, вообще. Ты себя слышишь?
Не могу понять где, где ты видишь код, нет тут кода.
А те примеры что я привел просто идеальны.
Ну нафига мне использовать твою ахинею, вместо GOTO.
Да, уж, я был о тебе лучшего мнения.

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 07.02.2017 (Вт) 23:06
jangle
bon818 писал(а):
jangle писал(а):Господи, опять бредовый код. Раз тебе так уж хочется упасть с Out of Memory используй трей каэтчи.

Хорошо что ты наконец догнал про Out of Memory и число 4294967295 для тебя достаточно беззнаковое.
Но блин. Кто тебе сказал. Да с чего ты взял, вообще. Ты себя слышишь?
Не могу понять где, где ты видишь код, нет тут кода.
А те примеры что я привел просто идеальны.
Ну нафига мне использовать твою ахинею, вместо GOTO.
Да, уж, я был о тебе лучшего мнения.


Заканчивай истерику. Выше ты написал о якобы баге в компиляторе, бага не оказалось. Выяснилась твоя полная безграмотность и не умение писать код.
А теперь еще и адекватность под большим вопросом.

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 07.02.2017 (Вт) 23:51
bon818
ger_kar писал(а):Далее в одной из внутренних функций неправильно инициализируется переменная, Ошибка проявляется только в Windows 7 SP1 32-битной.

Давай посмотрим.

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 09.02.2017 (Чт) 21:10
ger_kar
jangle писал(а):Ты прямо в экзешнике компилятора смог баг пофиксить?
Да, подправил файл PBWin.exe
bon818 писал(а):
ger_kar писал(а):Далее в одной из внутренних функций неправильно инициализируется переменная, Ошибка проявляется только в Windows 7 SP1 32-битной.

Давай посмотрим.
Завтра выложу пример кода.

СообщениеДобавлено: 22.02.2017 (Ср) 15:42
Qwertiy
ger_kar писал(а):Завтра выложу пример кода.

Завтра?)

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 22.02.2017 (Ср) 19:31
Trink
Ребят, из 64 битных бейсиков вы забыли PB, ну то есть PureBasic. Он хоть платный, как впрочем и PowerBASIC и VB, но он постоянно развивается (фиксят найденные баги и добавляют новый функционал). В добавок у него прекрасный отладчик который без особых проблем находит многие ошибки во время выполнения программы, а при активной функции OnError также ловятся ошибки в билдовых прогах.
Ошибка с отрицательным аргументом функции spaсe ловится на раз.

Изображение

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 24.02.2017 (Пт) 19:44
jangle
Мне лично не нравится синтаксис PureBasic. Какой-то он некрасивый и неказистый.

Re: PowerBasic выкуплен компанией Drake Software

СообщениеДобавлено: 02.04.2017 (Вс) 9:20
jangle
С сайта исчезла версия *.04 и выложена *.03.
Очень странно. Они что нашли в последней фатальные баги?