Навигация
Поддержать материально
Steam Greenlight

Логотипы
Медальки
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Темы форума
187 - Bullet Heaven
25.11.2024
 VoroneTZ
187 - ?
21.11.2024
 Dan
Galactic Showdown -…
21.10.2024
 KregHek
Новый IGDC
5.08.2024
 rimush
186 - Strategy!
15.07.2024
 VoroneTZ
WoL
3.07.2024
 Darthman
Привет выжившие
21.05.2024
 GeePee
185 - RPG
9.02.2024
 Vaskrol
В каком банке открыт…
24.01.2024
 Darthman
185 - ?
30.12.2023
 Mefistofel
Сейчас на сайте
Гостей: 5
На сайте нет зарегистрированных пользователей

Пользователей: 1,790
новичок: Durved
Обсуждение «Помогите! деже не знаю где спросить»
Страница 2 из 8 < 1 2 3 4 5 > >>
Daemon
Avatar пользователя

Опубликовано 08.10.2013 14:49 (11 лет назад)    #
Это была первая из причин, по которой FPC + lazarus для меня перестали существовать как средства разработки. Вторая причина - странное поведение дебагера при отладке dll + exe. Delphi еще хоть как-то может заходить дебаггером в dll из под ехе и безотказно отлаживает dll с запуском с ехе. Лазарус в 90% случаев просто падает.

Не говоря уже про размер получающихся dll и exe.
Bullet Heaven:Не участвую.
MysticCoder
Avatar пользователя

Опубликовано 08.10.2013 18:46 (11 лет назад)    #
Daemon написал:
Это была первая из причин, по которой FPC + lazarus для меня перестали существовать как средства разработки.


Работа с юникодом?? Не думаю, что там все так сложно, просто надо какие то правила знать. Наверняка те самые на которые указал FedeX.
Daemon написал:

Вторая причина - странное поведение дебагера при отладке dll + exe. Delphi еще хоть как-то может заходить дебаггером в dll из под ехе и безотказно отлаживает dll с запуском с ехе. Лазарус в 90% случаев просто падает.

Не говоря уже про размер получающихся dll и exe.

Что есть, то есть. Дебагер внешний, поэтому не без глюков. Возможно даже, отладка своими средствами(запись в лог) эффективнее, чем отладка встроенными. Размер же большой, т.к. в экзешник зашивается инфа для этого дебагера. Можно не зашивать, будет норм размер.
Вообще, первый раз меня отпугнула дикая глючность этого лазаруса. Через год попробовал версию поновее, она была лишена многих глюков, которые меня отпугнули. Был бы еще однооконный интерфейс под линуксом, было бы супер. Сейчас я нахожу его вполне юзабельным. Ну а плюс - это возможность компилить под многие платформы.
Bullet Heaven:Не участвую.
Darthman
Древний организм
Avatar пользователя

Опубликовано 08.10.2013 19:14 (11 лет назад)    #
Ну а плюс - это возможность компилить под многие платформы.

И под какие же конкретно тебе плюс компилить?
Bullet Heaven:Не участвую.
Doj
Avatar пользователя

Опубликовано 08.10.2013 23:32 (11 лет назад)    #
Вот.... вроде все правильно. По крайней мере работает. Или я опять что то упустил?


Utf8ToAnsi конвертирует utf-8 последовательность в однобайтовую строковую, при этом использует некоторую кодировку по-умолчанию (utf8 в винде, koi8-r в линуксе).

То, что на выходе у тебя будет последовательность двухбайтовых символов — неверно.

upd: прочёл твой текст подробнее, да, потом после присвоения в WideString будет неявное преобразование из кодировки по-умолчанию в unicode. Эдакая двойная работа получается. Просто заюзать UTF8Decode не пробовал?

редакция от Doj, 08.10.2013 23:46

Bullet Heaven:Не участвую.
JKot
Avatar пользователя

Опубликовано 09.10.2013 00:01 (11 лет назад)    #
CoderInTank
Подавляющее большинство людей плюются от многооконного интерфейса лазаруса. И ты думаешь в опенсорс продукте никто не решил эту проблему? Естественно решили и даже 2 раза, все что надо сделать зайти в пакеты и установить anchordockingdsgn или EasyDockMgrDsgn и лазарус сразу становится няшным и пушистым.
P.s Это не наезд на тебя, просто я только на этом форуме рассказываю это уже раз третий

редакция от JKot, 09.10.2013 00:05

Bullet Heaven:Не участвую.
Daemon
Avatar пользователя

Опубликовано 09.10.2013 02:06 (11 лет назад)    #
т.к. в экзешник зашивается инфа для этого дебагера. Можно не зашивать, будет норм размер.

Даже без дебаг-инфы размер все рано непозволительный. Даже Delphi 2009 меньше делает. Сопоставимо разве что с XE3.
А если хочется чего-то лицензионного, то на этот счет у меня припасена лицензия на Turbo Delphi 2006. Ну и учитывая, что разрабатывать коммерческие игры на Delphi в данный момент почти гиблое дело, то вопрос лицензионности отпадает.

А насчет отлаживать с помощью своего лога... У меня в среднем отлаживаемая единомоментно кодобаза - 30к строк. Покрывать ее всю логгированием затратно, особенно если делать через IFDEF DEBUG

Bullet Heaven:Не участвую.
Shirson
Avatar пользователя

Опубликовано 09.10.2013 03:55 (11 лет назад)    #
Daemon написал:
Ну и учитывая, что разрабатывать коммерческие игры на Delphi в данный момент почти гиблое дело
Почему?
Bullet Heaven:Не участвую.
Daemon
Avatar пользователя

Опубликовано 09.10.2013 04:46 (11 лет назад)    #
Shirson написал:
Daemon написал:
Ну и учитывая, что разрабатывать коммерческие игры на Delphi в данный момент почти гиблое дело
Почему?

(Боюсь, что я окажусь сейчас втянут в холивар, в котором я обычно наоборот, рьяно защищаю Delphi)
В случае упертого (вроде Тимура) разработчика-одиночки - дорогая лицензия. Почти все другие языки позволяют создавать коммерческие продукты на бесплатных версиях сред разработок. В случае с С++ есть еще и куча бесплатных компиляторов.
В случае неупертого - мало готового кода и библиотек, все вокруг лошат и смеются.
В целом в случае одиночки - гораздо удобнее (выгоднее) пробиваться на рынок мобильных игр, либо флеш/unity игр. Delphi имеет поддержку Win, Mac, iOS и с недавно анонсирован Android. iOS уже год как в Delphi, но что-то я не вижу восторженных историй, вроде "Разработал приложение под iOS на Delphi, это круто!". Даже относительно новый Xamarin (он же бывший Monodroid) уже весь нахвалили, несмотря на то что стоит он дороже Delphi.

Резюмируя весь поток бессвязности выше - для души Delphi по-прежнему хорош, он теплый и ламповый, мне в нем комфортно, хотя часто не хватает некоторых удобств из других языков, например из C#. Благодаря Delphi и отсутствию должной кодобазы по noVCL программированию я научился самостоятельно читать туманные спеки, выискивать крупицы информации и делать невиданные для обычных VCL Delphi-стов вещи, что пригождается и при работе на других языках - мне не страшно написать свой велосипед, если на это есть время.
Bullet Heaven:Не участвую.
Shirson
Avatar пользователя

Опубликовано 09.10.2013 05:18 (11 лет назад)    #
Мысль понятна, спасибо.
Bullet Heaven:Не участвую.
Darthman
Древний организм
Avatar пользователя

Опубликовано 09.10.2013 05:49 (11 лет назад)    #
Кстати к вопросу о размерах ЕХЕ - Даемону:
мой тетрис на текущий момент в делфи хе5 собирается в 41кб. Пустое окно в 28, если не путаю.
сорри за оффтоп.
Bullet Heaven:Не участвую.
Daemon
Avatar пользователя

Опубликовано 09.10.2013 06:36 (11 лет назад)    #
Кстати к вопросу о размерах ЕХЕ - Даемону:
мой тетрис на текущий момент в делфи хе5 собирается в 41кб. Пустое окно в 28, если не путаю.

У меня в движке есть пара зависимостей от стандартных delphi-модулей (кроме sysutils и System), которые в d2009 дают +100кб, а в XE4 дают сразу +1,5мб.
Косяк в этом мой, конечно (надо вычищать), но вот тот факт, что новая версия некорректно "отрезает" ненужную часть...

А есть что-то революционное в xe5 со времен 2009? Акромя iOS и Android?
сорри за оффтоп

Вроде бы тут итак завязалась беседа про Delphi в целом, так что это не оффтоп, наверное :)
Впрочем, админы рассудят =)))
Bullet Heaven:Не участвую.
Darthman
Древний организм
Avatar пользователя

Опубликовано 09.10.2013 07:16 (11 лет назад)    #
Уменьшить ЕХЕ можно без особых проблем добавив в проект директивы по небольшой кастрации ненужного:
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
{$WEAKLINKRTTI ON}
{$SETPEFLAGS 1}

Ну и отключением дебага, разумеется для релизной версии. В новых делфях просто оч. некисло подрос RTTI и таблицы реалокации. Если их подрезать, можно выгодать в размере ЕХЕ и сделать его сопоставимым со старыми делфями.

А есть что-то революционное в xe5 со времен 2009?

Скажу так, тоже самое что есть в ХЕ3. По коду там ничего не менялось со времен ХЕ3 (для виндовса, разумеется). Разница.... разница. Так, 64битный компилятор с оптимизацией под SSE.
Если используешь VCL или FM, то появились LiveBindings для связи полей классов с полями компонент, или полей компонент с полями других компонент. Разумеется с визуальным редактором.
Нативная поддержка ZIP, регулярки, ООП для работы с файлами. Возможность управлять кодировками при открытии текстовых файлов. Класс TStringBuilder.
Анонимные методы... да много всего, я уже честно говоря теряюсь в каких версиях чего появлялось. Хедеры обновили для много чего (например ОпенГЛ, Директ3Д)
Bullet Heaven:Не участвую.
MysticCoder
Avatar пользователя

Опубликовано 09.10.2013 07:39 (11 лет назад)    #
Darthman написал:
Ну а плюс - это возможность компилить под многие платформы.

И под какие же конкретно тебе плюс компилить?

Мне пока хватает под линь и под вынь) Посматриваю в сторону андроида) Знаю, что изврат, но я люблю всякие извращения пробовать)

Doj написал:
прочёл твой текст подробнее, да, потом после присвоения в WideString будет неявное преобразование из кодировки по-умолчанию в unicode. Эдакая двойная работа получается. Просто заюзать UTF8Decode не пробовал?

Не понятен момент, что за неявное преобразование из кодировки по умолчанию в unicode. Ну да пофиг. Как нить решусь и прочитаю, что да как с этим юникодом) UTF8Decode не пробовал.

JKot написал:
CoderInTank
все что надо сделать зайти в пакеты и установить anchordockingdsgn или EasyDockMgrDsgn и лазарус сразу становится няшным и пушистым.

Хм.. не знал...) спасибо, попробую)
Bullet Heaven:Не участвую.
Darthman
Древний организм
Avatar пользователя

Опубликовано 09.10.2013 07:46 (11 лет назад)    #
А, ну еще как же я мог забыть хелперы к простым типам.
MyInt := 10;
MyInt.ToString;

Ага ага :)

CoderInTank:
Ну вот возьми делфи, попробуй под андроид, расскажешь заодно потом.
Bullet Heaven:Не участвую.
MysticCoder
Avatar пользователя

Опубликовано 09.10.2013 08:19 (11 лет назад)    #
2Darthman:
Delphi конечно замечательная штука, но имеет цену. И пусть за Starter версию отдашь ~200 баксов, за обновление чтобы для андроида можно было писать уже около штуки баксов выходит.
Bullet Heaven:Не участвую.
Darthman
Древний организм
Avatar пользователя

Опубликовано 09.10.2013 08:32 (11 лет назад)    #
Попробовать можно и в Trial.
Bullet Heaven:Не участвую.
FedeX
Avatar пользователя

Опубликовано 09.10.2013 09:51 (11 лет назад)    #
Я пробовал триал - на armv6 креш при старте. На эмуляторе - креш при старте. Надо бы, конечно, еще на armv7 девайсе попробовать, все-таки их сейчас большинство, но все забываю, да и уже первые два случая весьма подпортили настроение.
Bullet Heaven:Не участвую.
KEFIR
Avatar пользователя

Опубликовано 10.10.2013 12:43 (11 лет назад)    #
Я так понимаю теперь это тема помощи по Delphi? Тогда помогите мне :) Не программировал на нем уже очень давно, а вот на этот конкурс решил вспомнить. И вот совсем забыл как работают константы :)

Пытаюсь сделать примерно такое:
const
WIDTH:Integer = 100;
HEIGHT:Integer = 100;

type
TPixels = array[0..WIDTH-1, 0..HEIGHT-1] of Cardinal;


для того, чтоб потом легко получить доступ к пикслеям по указателю:

TPixels(pPixels^)[i, j] := $ffffff;


Ошибка в том месте, где я пытаюсь объявить тип TPixels... Мол
Error: Can't evaluate constant expression


Может я просто выбрал не тот подход? Я помню что делал это примерно так много лет назад.. но уже не помню.

P.S. На самом деле программирую я на Object Pascal и компилирую с помощью FPC.
Bullet Heaven:Не участвую.
spokoiniy
Avatar пользователя

Опубликовано 10.10.2013 13:13 (11 лет назад)    #
KEFIR написал:
Пытаюсь сделать примерно такое:
const
WIDTH:Integer = 100;
HEIGHT:Integer = 100;

type
TPixels = array[0..WIDTH-1, 0..HEIGHT-1] of Cardinal;

не типизируй константы
const
WIDTH = 100;
HEIGHT = 100;

type
TPixels = array[0..WIDTH-1, 0..HEIGHT-1] of Cardinal;
своими словами описать не могу поэтому приведу из книжки:
type Name = array[Index type|Ordinal..Ordinal {,...}] of Base type; диапазон каждого измерения может быть задан предписанными порядковыми значениями, например: 22..44.
думаю поэтому типизированные переменные под integer не работают, они должны быть Ordinal т.е. перечисляемыми

редакция от spokoiniy, 10.10.2013 13:16

Bullet Heaven:Не участвую.
KEFIR
Avatar пользователя

Опубликовано 10.10.2013 13:16 (11 лет назад)    #
spokoiniy
О! Получилось! Спасибо! :)
Bullet Heaven:Не участвую.
Страница 2 из 8 < 1 2 3 4 5 > >>
Перейти на форум:
Конкурсы
Открытые конкурсы:
Bullet Heaven

Старт: 23 ноября 2024г.
Финиш: 4 декабря 2024г.

Участники: 6
Недавние конкурсы:
 186 - Strategy
 185 - RPG XII
 184 - Arcade II
 183 - Novel
 182 - RPG XI
 Все конкурсы
Случайная игра
Мини-чат
Вам необходимо залогиниться.

Архив чата

26,236,715 уникальных посетителей

Создано на базе русской версии PHP-Fusion copyright © 2003-2006 by Nick Jones.
Released as free software under the terms of the GNU/GPL license.