Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
43 / 31 / 3
Регистрация: 27.03.2016
Сообщений: 116

Текущая ситуация с Дельфи

27.03.2016, 17:21. Показов 5515. Ответов 72
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрый день. Посмотрел на новые лицензионные версии и запутался. Помогите разобраться, пожалуйста

1. Delphi 10 Seattle полноценный наследник всех Паскалей и Дельфи? Насколько тяжело будет в ней адаптировать и запустить программу примерно 15-летней давности (возможно, в Object Pascal)?

2. Может кто на пальцах объяснить отличие версий Professional, Enterprise, Ultimate и Architect? Чтобы не очень разбирающийся понял.
Если стоит задача создать локальную расчётную программу, которая должна просто работать на одном компьютере (брать данные из одно файла, записывать результаты в другой, строить по результатам картинки, возможно динамические (анимированные), то будет ли достаточно версии Professional?

3. Чем отличаются лицензии NAMED, NETWORK NAME и CONCURRENT?

4. Что за зверь - RAD Studio? Это полноценный Дельфи плюс полноценный С++? Те. купив RAD Studio я получу полноценный Delphi 10 Seattle, но ещё с дополнением в виде С++?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.03.2016, 17:21
Ответы с готовыми решениями:

Тип ошибки: ADODB.Recordset (0x800A0BCD) BOF или EOF имеет значение True, либо текущая запись удалена. Для выполняемой операции требуется текущая
Всем приветПишу вебстраничку для доступа к даным При формировании пустого ркекордсета на Movefirst грязно ругается: Тип ошибки: ...

Импорт кода из Дельфи-файла без установленного Дельфи
Есть файлы проекта делфи, как без установленного делфи просмотреть код программы? Или может кто то может открыть их ( 7й версией) и...

Скажите пожалуйста почему у дельфи 6,7 нет совместимости с Windows 7 и какая версия дельфи совместима с windows 7
Скажите пожалуйста почему у дельфи 6,7 нет совместимости с Windows 7. и какая версия дельфи совместима с windows 7

72
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
29.03.2016, 20:03
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от CheshireesCat Посмотреть сообщение
Но в делфи всё в одном месте и не надо прыгать по коду...
Вот в том то и дело что именно в Дельфи и надо. И при написании кода и при чтении.
Цитата Сообщение от CheshireesCat Посмотреть сообщение
А если хочешь описывать интеджер тремя буквами так опиши тип
только
#define { begin
#define } end
в паскале сделать невозможно. так же как и толковый цикл for отсутствует.

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от volvo Посмотреть сообщение
Вот по таким кадрам и судят об уровне Дельфистов.
К сишников такие кадры не выживают. В лучшем (для них) случае уходят в Дельфисты.



Добавлено через 3 минуты
Цитата Сообщение от krapotkin Посмотреть сообщение
да даже "->" вместо "." уже в два раза убивает место )))
"->" в паскале соответствует не "." а "^.". Так что не надо ля-ля.
0
 Аватар для CheshireesCat
88 / 84 / 43
Регистрация: 02.05.2015
Сообщений: 766
29.03.2016, 20:45
volvo, да помню такое, но никогда не пользовался такой записью, небыло необходимости....

Добавлено через 3 минуты
Fulcrum_013, толковый фон? Это какой? Фор с инкрементом в 1
Вайл с логическим условием и любым шагом
Репит тот же вайл с после условием
0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,684
Записей в блоге: 21
29.03.2016, 20:58
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
"->" в паскале соответствует не "." а "^.". Так что не надо ля-ля.
учите матчать
тот паскаль уже далеконько
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
29.03.2016, 21:08
Цитата Сообщение от CheshireesCat Посмотреть сообщение
Вайл с логическим условием и любым шагом
отож. Вместо к примеру
for (int i=1;i<1024;i<<=1){
}
городить малочитабельуй repeat - until

Добавлено через 2 минуты
Цитата Сообщение от krapotkin Посмотреть сообщение
тот паскаль уже далеконько
Да нет все там же. Если не с потомками TObject работать,который в дельфе от черти чего порожден, а именно с штатными классами, то все как и было.
Учите матчасть.
0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,684
Записей в блоге: 21
29.03.2016, 21:35
в Object Pascal не использовать Object?? o_O
вы и в С только базовые типы используете?
и зачем нужна стрела в базовых типах
C++
1
2
int i=5;
i->???
что тут можно написать?

крышка в паскале - это либо указатель на что-то, либо разыменование
PType = ^MyType;
d:=a^;

вот эти две записи для C++ и Delphi одинаковы
alex -> father -> father -> name
в делфи выглядит
alex.father.father.name
именно об этом я и говорил

а то, что, по вашему мнению, TObject надо было производить от чего-то другого, боюсь, ни для кого значения не имеет
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
29.03.2016, 21:39
Цитата Сообщение от krapotkin Посмотреть сообщение
вы и в С только базовые типы используете?
Обычно я из базовых типов создаю составные.
Цитата Сообщение от krapotkin Посмотреть сообщение
именно об этом я и говорил
В С++ тоже так в принципе можно. Но не нужно. То же самое и паскаля касается. все это маскирование работы с указателями чревато конкретными трудноуловимыми утечками памяти.
0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,684
Записей в блоге: 21
29.03.2016, 22:08
не течет)
именно потому, что черт-те от чего TObject произведен))
не забывать освобождать - не проблема. а в мобильной разработке так и вообще нынче ARC...

в паскале MyObject^Field1 ну никак не записать...
тут все объекты - указатели, как, например, и в JavaScript
и там не течет
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
29.03.2016, 22:57
Цитата Сообщение от krapotkin Посмотреть сообщение
Тут все объекты - указатели
Цитата Сообщение от krapotkin Посмотреть сообщение
и там не течет
То там просто с памятью обычно не работают. Как вообще можно с указателями работать без ручного управления памятью непонятно.
Цитата Сообщение от krapotkin Посмотреть сообщение
не течет)
именно потому, что черт-те от чего TObject произведен))
Течет и еще как течет. Именно по тому что то от чего порожден TObject шибко грамотное и типа само знает где ему память высвобождать. При этом не везде это видит. Если речь идет не о визуальных компонентах а о просто объектах, которые что либо моделируют, то таки удобнее старый добрый foo = object и ручное управление памятью, при всех его неудобствах в паскале.
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
29.03.2016, 23:05
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
При этом не везде это видит
Ну приведи, "профессор", конкретный пример где он чего-то не видит, хотя, согласно документации, таки обязан видеть ?
Щас запостим баг в Идеру)
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
29.03.2016, 23:26
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function TRender.TraceRay(Ray:TRay;Depth:integer):TVector;
var
  SurfaceCoords:TVector;
  Reflected:TRay;
  Refracted:TRay;
  Visual:TVisual;
  Normal:TVector;
  i:integer;
begin
   if Scene.NearestIntersection(Ray,SurfaceCoords) then
   begin
       Result:=Scene.Ambient+Visual.Matherial.SelfIlluminance;
       Normal:=Visual.Geometry.Normal(SurfaceCoords);
       Reflected.Create(SurfaceCoords,Ray.Direction.Reflected(Normal));
       for i := 0 to Scene.ActiveLightCount do
       begin
             Result:=Result+Scene.ActiveLight[i].Light(Visual,Ray,SurfaceCoords,Reflected);
       end;
       if (Depth>0) then
       begin
          Normal:=Visual.Geometry.Normal(SurfaceCoords);
          Result:=Result+TraceRay(Reflected,Depth-1);
          if Visual.Matherial.Opacity<1. then
          begin
             Refracted.Create(SurfaceCoords,Ray.Direction.Refracted(Normal,1-Visual.Matherial.Opacity));
             Result:=Result+TraceRay(Refracted,Depth-1);
          end;
       end;
   end
   else Result:=Scene.BackgroundColor;
end;
Да вот где то тут текло, пока всех участников свистопляски не сделал старыми добрыми object. Даже если где то для них Free принудительно и не вызвал, то на кой ляд они мне нужны в куче если им место в стеке по логике вычислений?
0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,684
Записей в блоге: 21
30.03.2016, 00:22
возможно, просто надо в соответствии с документацией работать с памятью?
помнить, где Record, где TObject
нечему там течь абсолютно
если хочется, чтобы объект сам себя уничтожал, нужно наследоваться от интерфейсов, но это как раз "неручное" управление памятью

Добавлено через 1 минуту
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
TObject шибко грамотное и типа само знает где ему память высвобождать
вот реально с явой путаете
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
30.03.2016, 00:50
Цитата Сообщение от krapotkin Посмотреть сообщение
если хочется, чтобы объект сам себя уничтожал
Начнем с того что нужно чтобы он сам себя не распределял в куче а жил в стеке.

Добавлено через 59 секунд
Цитата Сообщение от krapotkin Посмотреть сообщение
где Record, где TObject
record это там где наследования нет. Хотя в классике не только наследования но и методов.

Добавлено через 1 минуту
Цитата Сообщение от krapotkin Посмотреть сообщение
вот реально с явой путаете
Не знаю с явой не работал. только с JS.

Добавлено через 2 минуты
Цитата Сообщение от krapotkin Посмотреть сообщение
если хочется, чтобы объект сам себя уничтожал,
И если его объявили статически чтобы деструктор в конце скопа сам вызывался.

Добавлено через 22 минуты
Цитата Сообщение от krapotkin Посмотреть сообщение
о это как раз "неручное" управление памятью
Ручное это когда я явно память как выделяю так и высвобождаю.
к примеру;
C++
1
2
3
4
5
void main(){
       TVector *Vector = new TVector(1,2,3);
        //...........
       delete TVector;
}
Неручное это типа такого
C++
1
2
3
4
void main(){
       unique_ptr<TVector> Vector= new TVector(1,2,3);
.....
}// вот здесь вызовется деструктор статического Vector который удалит динамический объект на который он ссылается.
А тут получается непонятно какое.
0
30.03.2016, 01:36

Не по теме:

Честно говоря сей топик тоже превратился в "переливание из пустого в порожнее". И к текущей ситуации с Дельфи он имеет крайне малое отношение.

0
20 / 10 / 2
Регистрация: 07.03.2016
Сообщений: 211
30.03.2016, 08:17
krapotkinquote:
нужно наследоваться от интерфейсов ||#51.p3

Не по теме:

пока Димитрррр ещё не завтракал, и не известно, кто он, и какую прогу 15ти-летней давности,
имея массив исходных(?), интерфейс(?), он хочет переделать для использования на 1м компьютере,
ещё и с использованием ресурсов Architect(?) и Ultimate(?),, ..хмм, Дмитрр - а какое, если не секрет, ваше отчество?
Анатольевич, к примеру, или Викторович, или какое? какие окрас, масть? -выж чего то хотели?


поинтересуюсь.
Кропоткин, как вы думаете, -насколько острая эта нужда, проявления,
кому и за чем(длячего) нужно, почему она появилась, и прогнозы
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
30.03.2016, 08:19
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Да вот где то тут текло
Не, "профессор", так дело не пойдет)

Что значит "где то тут" ? Ты пальцем покажи где !)
А иначе пустобрёхом прослывешь)
0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,684
Записей в блоге: 21
30.03.2016, 09:01
northener, +1
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
TVector *Vector = new TVector(1,2,3);
//...........
delete TVector;
вот один-в-один на делфи
Delphi
1
2
3
Vector=TVector.Create(1,2,3);
...
Vector.Free;
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
30.03.2016, 16:21
Цитата Сообщение от krapotkin Посмотреть сообщение
вот один-в-один на делфи
при этом
C++
1
2
3
4
void main(){
      TVector  Vector(1,2,3); //память выделилась на стеке. 
      ....
}// а стек то сам очистился.
И где подобное у классов дельфи кроме старых паскалевских object?
0
30.03.2016, 17:01

Не по теме:

не нравится жизнь дельфийского TObject в куче ?

ничто не мешает унаследоваться от него и перекрыть New/FreeInstance, взяв на себя отвественность по балансировке и раскрутке стека)

0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,684
Записей в блоге: 21
30.03.2016, 17:29
я ж говорил уже как - такие объекты со счетчиком ссылок производятся от TInterfacedObject
а в мобильной версии теперь все так себя. Потому что у Apple в obj..-C тоже все так себя ведут...

ты уж определяйся - и тебе чтобы сам разрушался и тебе чтобы сам не разрушался, дай я его руками убью
все можно. только не все сразу
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
30.03.2016, 18:00
Цитата Сообщение от krapotkin Посмотреть сообщение
только не все сразу
А в С++ возможно все и сразу.

Добавлено через 3 минуты
Цитата Сообщение от krapotkin Посмотреть сообщение
отому что у Apple в obj..-C тоже все так себя ведут...
Вот это и ведет к утечкам. Потому что более часто встречающаяся и менее тривиальная задача как раз не в том чтобы удалить неиспользуемый объект, а в том чтобы удалить объект на который есть куча ссылок, с обрывом этих связей. И вот тут всякие умники которые одной командой не удаляются а только счетчик уменьшают очень даже мешают.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.03.2016, 18:00

Текущая директория
Извините за тупой вопрос, но как переменной в VBScript присвоить путь к текущей директории? Спасибо, что не обиделись...

текущая дата?
можете пожатуста подсказать как узнать текущую дату дд мм гг, или время вцелом и занести в структуру типа tm чтоб потом можна былобы изять...

Текущая папка
Доброго всем времени суток! Мне нужно блокнотом открыть созданный в проекте текстовый файл. Создаю файл и что то записываю в текущую...

Текущая дата
Подскажите, пожалуйста. Необходимо, чтобы при нажатии на кнопку в таблицу БД заносилась текущая дата, как это реализовать?

текущая дата
помогите сделать текущую дату устроился на стажировку прислали задание &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru