Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26072
Рейтинг: 2122
#46: 2007-06-20 11:34:52 ЛС | профиль | цитата
Dilma писал(а):
- сделан нормальный запуск программ из среды
- добавлен кодогенератор с вынесенной наружу языкозависимой части

Но архив от 18 числа. И у меня только "компилировать" есть, а "запуска" -- нет. Если есть обновление, то где оно?

[size=-2]------ Добавлено в 11:34
Galkov писал(а):
глупых вопросов, типа: почему не dpr - давай договоримся не задавать

А я и этот *.pas прекрасно откомпилил и запустил, но не в среде. У меня нет запуска из среды.
Я так и не понял, че ты на меня бочку покатил? Написано же было, что пакет поддерживаться не будет, я тут причем? Это теперь получается так, что -- кто во что горазд. Результат генерации и сам генератор я тоже смотрел, но концептуально, сильно не напрягаясь в подробностях -- весьма интересный подход. Пока разбираюсь, но глубоко не лезу.
карма: 22

0
Администрация
Ответов: 15294
Рейтинг: 1518
#47: 2007-06-20 11:34:52 ЛС | профиль | цитата
nesco писал(а):
Но архив от 18 числа.


FTP писал(а):
Delphi2.rar [extract here] 97133 2007-6-20

20 число.

Galkov писал(а):
Почему так, а не иначе, и правильно ли это - сейчас не обсуждаем.

на SVN новый кодогенератор со 100% независимым от конечного языка кодом. Вся зависимая часть вынесена в direct.inc. Кстате получилось 18 строк против 4370, а это всего 0.4%
карма: 26
0
Разработчик
Ответов: 26072
Рейтинг: 2122
#48: 2007-06-20 11:43:38 ЛС | профиль | цитата
Dilma, но вот обновил проект, запустил *.his -- появился второй Copy (тут непонятно), и появилась кнопка "запустить". Загружаю схему, запускаю -- *.exe файл из папки пропал, а новый не оформился, и ничего не запустилось. Как сделать правильно?
карма: 22

0
Администрация
Ответов: 15294
Рейтинг: 1518
#49: 2007-06-20 12:29:34 ЛС | профиль | цитата
в базе расширение pas для пакета поменять на exe.
карма: 26
0
Ответов: 9906
Рейтинг: 351
#50: 2007-06-20 13:08:40 ЛС | профиль | цитата
nesco писал(а):
Я так и не понял, че ты на меня бочку покатил? Написано же было, что пакет поддерживаться не будет, я тут причем?

Ты причем.
Из вопроса АБСОЛЮТНО ясно, что писавший просто не понимает происходящее
Отсюда вопрос: есть ли у тебя желание его приобрести
Т.е., когда приобретешь - и тебе тоже будет АБСОЛЮТНО ясно вышесказанное

А ты вместо вопросов про какую-то бочку рассуждаешь.
карма: 9

0
Разработчик
Ответов: 26072
Рейтинг: 2122
#51: 2007-06-20 13:53:39 ЛС | профиль | цитата
Galkov писал(а):
Отсюда вопрос: есть ли у тебя желание его приобрести

Ну конечно есть, чего на месте сидеть-то.
Galkov писал(а):
Т.е., когда приобретешь - и тебе тоже будет АБСОЛЮТНО ясно вышесказанное
Сразу такие знания не приобретаются.
Galkov писал(а):
Из вопроса АБСОЛЮТНО ясно, что писавший просто не понимает происходящее
А я действительно не понял -- пишут одно, а рассуждают совершенно о другом. Я понял только одно (не гарантировано, что правильно), что WEB это -- универсальный скриптовый язык кодогенератора, который не зависит ни от какого языка (языконезависимый) и может превращать WEB-скрипт во что угодно.

[size=-2]------ Добавлено в 13:53
Тут для меня маленькие сложности. Я только научился немного думать на Delphi, как придется научиться думать на другом языке, пусть даже независимом.
карма: 22

0
Администрация
Ответов: 15294
Рейтинг: 1518
#52: 2007-06-20 14:07:17 ЛС | профиль | цитата
nesco писал(а):
что WEB это - универсальный скриптовый язык

пожалуй стоит уточнить. WEB - это название пакета. Пакет собран по технологии Flow Threading Code Generation(название взято с потолка, научным не является). Реализована эта технология с помощью внутреннего скриптового языка, имя которому никто еще не давал. На данный момент он носит обобщенное название HiAsm WEB Script(*.hws) поскольку используется только в пакете WEB. Видимо путанница частично получилась как раз из-за этого.

[size=-2]------ Добавлено в 14:07
nesco писал(а):
Тут для меня маленькие сложности. Я только научился немного думать на Delphi, как придется научиться думать на другом языке, пусть даже независимом

из этого можно сделать вывод, что понимание сущности скриптового языка все еще не пришло
nesco, попробуй написать компонент посылки сообщения окну для пакета Delphi 2. Логика должна быть такая:
если Handle окна отличен от нуля
- то шлем сообщение SendMessage(Handle, NUM, L, W);
- иначе выдаем диалог с текстом MessageBox(0, Text, Caption, MB_OK);

иначе можно долго еще топтаться вокруг да около
карма: 26
0
Разработчик
Ответов: 26072
Рейтинг: 2122
#53: 2007-06-20 14:37:28 ЛС | профиль | цитата
Dilma, а вот это как понимать?
карма: 22

0
файлы: 1bug_frm_001.jpg [13.4KB] [440]
Ответов: 9906
Рейтинг: 351
#54: 2007-06-20 14:55:27 ЛС | профиль | цитата
Galkov писал(а):
2) CodeGen первым делом "запускает в дело" метод doStart элемента, в имени которого есть магическое слово EntryPoint.

Это понятно
Если понятно, идем дальше. Если нет - где вопросы ???

Читаем первую строку hiEntryPoint.hws
Если понятно, идем дальше. Если нет - где вопросы ???

Читаем вторую строку hiEntryPoint.hws
Если понятно, идем дальше. Если нет - где вопросы ???

Читаем третью строку hiEntryPoint.hws
Если понятно, идем дальше. Если нет - где вопросы ???

Читаем четвертую строку hiEntryPoint.hws
Если понятно, идем дальше. Если нет - где вопросы ???

............

НУ
карма: 9

0
Разработчик
Ответов: 26072
Рейтинг: 2122
#55: 2007-06-20 15:02:50 ЛС | профиль | цитата
Galkov, первый вопрос -- откуда взялся block вместе со своими полями, и кто его объявил?
карма: 22

0
Ответов: 9906
Рейтинг: 351
#56: 2007-06-20 15:21:22 ЛС | профиль | цитата
Его объявил CodeGen. Он есть всегда. Но сначала пустой.
Galkov писал(а):
6) Системный объект block - это такой большой StrListEx, в котором накапливаются результаты кодогенерации. Типа многосекционного "блокнотика"
Главный StrListEx содержит список имен имеющихся блоков, а его поле Object - указывает на конкретные уже StrList-ы с данным именем. Это как бы внутреннее представление... Знание необязательное, но возможно полезное для понимания....

Не забудь этого ничего нет в результрующих кодах. Это все делается в Design-Time при работе CodeGen.
В результирующие коды попадет только то, что останется в "блокнотике" по окончании всех трудов
карма: 9

0
Разработчик
Ответов: 26072
Рейтинг: 2122
#57: 2007-06-20 15:27:24 ЛС | профиль | цитата
Я тут попробовал разобраться со скриптом -- это почти каждую метод Delphi прописывать вручную, вот например:
  println('for ', i, ' := ', start_num, ' to ', end_num, ' do')
  println('begin')
И представил себе, как в таком стиле сделать, к примеру, StringTable -- у меня даже в голове не уложилось.
[size=-2]------ Добавлено в 15:27
Или вот это для чего, для проверки наличия такой переменной?
  if(not isset(_str_cat_))
    var(_str_cat_)
карма: 22

0
Ответов: 2125
Рейтинг: 159
#58: 2007-06-20 15:27:44 ЛС | профиль | цитата
nesco писал(а):
к примеру, StringTable -- у меня даже в голове не уложилось

Не надо так весь StringTable делать. Делаешь StringTable.pas, а к нему - обёртку для HiAsm в вышеуказанном стиле hiStringTable.hws
карма: 1

0
Разработчик
Ответов: 26072
Рейтинг: 2122
#59: 2007-06-20 15:30:56 ЛС | профиль | цитата
Ага, значить если научится приаттачивать наши *.pas файлы (те делать обертки), то почти все можно перенести из предыдущего пакета, я так понял?
карма: 22

0
Ответов: 2125
Рейтинг: 159
#60: 2007-06-20 15:35:06 ЛС | профиль | цитата
Dilma, а нельзя ли как-нибудь автоматом нагенерить обёрток для существующих компонент в старом стиле. Будет не совсем оптимально, да и конечный код будет смахивать на тот, что есть сейчас, но мы получим промежуточный вариант, с которым можно будет жить, и который, при желании, можно будет оптимизировать.

[size=-2]------ Добавлено в 15:35
nesco, одновременно об одном и том-же подумали
карма: 1

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)