Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26149
Рейтинг: 2127
#181: 2007-06-25 11:23:28 ЛС | профиль | цитата
tsdima писал(а):
будешь тем человеком, который напишет это описание

Но так с этим зоопарком еще до конца разобраться надо.

[size=-2]------ Добавлено в 11:21
Похоже столкнулся с еще одной проблемой -- невозможностью создать компонент ChanelToIndex. Count есть на все точки, кроме work. И вообще, можно ли отследить индекс активного потока, как в D1.
Dilma, просмотри коды и мои вопросы, как все же это все правильно сделать.

[size=-2]------ Добавлено в 11:23
И скажи еще, планируется ли для этого пакета создать мультики и MT-потоки, или он начисто мертвый, дальнейшему развитию не подлежит?
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#182: 2007-06-25 11:41:57 ЛС | профиль | цитата
Вячеслав, ваша точка зрения понятна. Думаю не стоит больше продолжать в таком духе. Думаю вы понимаете, что я и сам прекрасно представляю сколько нужно знать пользователю в Д1 и сколько в Д2. Однако сравнивать два пакета, один из которых не готов даже на половину(точнее его еще вообще нет) это не правильно. Как писал Galkov, вопросов еще нужно решить очень и очень много и поэтому пример Д2, который тут был выложен это очень и очень приблизительная и примерная версия того, что хотелось бы сделать. Если вы готовы помочь в реализации этого пакета, сделать его более просым и понятным, то милости просим. Если же нет, то не стоит мешать другим - факт появления такого пакета(через месяц или год не важно) предлагаю считать уже намеченным и дальнейшие разубеждения ни к чему не придут.

nesco, видимо тоже стоит в пятый раз напомнить: кодогенератор изначально проектировался для пакета WEB.

nesco писал(а):
В CodoGen нашел функцию определения типа -- typeof возвращает тип данных в byte, и почему это про нее тихо промолчали. Странный у нас ко всему подход, очень странный, непонятный вообще. Но ты почитай структуру и синтаксис языка, она полностью описана, ага, конечно полностью, ждите...

typeof - это первая унификация кодогенератора в сторону типизированных языков. О введение этих операторов было сказана на форуме. А так же о expof. В связи с этим причина наездов не очень ясна.

PS: кто желает продолжить изучение концепции пакета прошу писать в сооветствующих разделах форума "Пакет WEB".
карма: 27
0
Ответов: 9906
Рейтинг: 351
#183: 2007-06-25 11:42:47 ЛС | профиль | цитата
Dilma,
1) расскажи подробнее чуток про изменения в интерфейсе
library CodeGen;
...
exports
buildPrepareProc,
buildProcessProc,
CheckVersionProc,
ConfToCode,
synReadFuncList;

end.
кстати, тут не все cdecl

и далее:
library make_exe;
...
exports
buildGetParamsProc,
buildMakePrj,
buildCompliteProc,
buildRunProc,
buildStopProc;

begin
end.

2) Про elGetData и elSetData вроде понятно, а примеров использования resAddMenu вроде не видел...

3) Ну и поскольку "трясется" CGTShare.pas - про добавление в ресурс произвольной строки не забудь, пожалуйста....

4) Элемент Version и на будущее будет средой обрабатываться ???
Никсоиды в таких случаях в качестве компилятора какой-нибудь make создают, в который и прописывают компилятор ресурса...
Ну это как повод для размышления, раз уж ты запуск проги в make_exe прописываешь...
карма: 9

0
Разработчик
Ответов: 26149
Рейтинг: 2127
#184: 2007-06-25 12:00:16 ЛС | профиль | цитата
nesco писал(а):
прошу писать в сооветствующих разделах форума "Пакет WEB"

Не хочется засорять топики кашей. Там Nic серьезно постится. Есть тут именно по Delphi-2 топик, так пусть и будет. ИМХО.

[size=-2]------ Добавлено в 11:52
Dilma писал(а):
А так же о expof

Я не нашел его в CodeGen и как он работает не знаю.

[size=-2]------ Добавлено в 11:56
Dilma писал(а):
В связи с этим причина наездов не очень ясна

Но а маленькую сноску в Helpe разве нельзя было дать. Типа -- для унификации пакета WEB введены следующие функции... Но не написал, так не написал, я всеравно нашел

[size=-2]------ Добавлено в 12:00
Dilma, но все же ты можешь ответить не на наши флудовские вопросы, а по теме топика. Я задал несколко вопросов, но пока никаких ответов не получил.
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#185: 2007-06-25 12:25:58 ЛС | профиль | цитата
Galkov писал(а):
расскажи подробнее чуток про изменения в интерфейсе

!Интерфейс_кодогенератора!

Galkov писал(а):
кстати, тут не все cdecl

действительно. Это будет исправлено очевидно.

Galkov писал(а):
и далее:

чуть позже в том же разделе допишу

Работа с ресурсами разговор отдельный. Полагаю "под шумок" и там порядок наведем.

nesco писал(а):
Есть тут именно по Delphi-2 топик, так пусть и будет. ИМХО.

А если говорить не о "ИМХО", а о реальном положение дел, то тут это - недовольство, обвинения, брюзжание и все такое прочее в этом же духе.

[size=-2]------ Добавлено в 12:25
!Интерфейс_модуля_make!
карма: 27
0
Ответов: 9906
Рейтинг: 351
#186: 2007-06-25 12:41:07 ЛС | профиль | цитата
А чего происходит между вызовами buildMakePrj и buildCompliteProc
Запуск компилятора

Как-то смысл разделения уловить хотелость бы...
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#187: 2007-06-25 12:49:15 ЛС | профиль | цитата
дополнил описание. Собственно в пакете WEB между этими процедурами происходит простое копиросание файла в папку с проектом, что можно бы было сделать как раз в buildCompliteProc и обойтись без заглушки Copy.
карма: 27
0
Ответов: 9906
Рейтинг: 351
#188: 2007-06-25 13:43:10 ЛС | профиль | цитата
Dilma писал(а):
О введение этих операторов было сказана на форуме. А так же о expof

Не нахожу такую букву в нашем слове....

Кстати, о словах...
Лучше сейчас поправить, пока не разрослось:
строка 711
         else Result.SetValue('Uncnown');

Нехорошие еще ассоциации вызывало pt_get_name_byid, пока не дошло, что это pt_get_name_ById
карма: 9

0
Разработчик
Ответов: 26149
Рейтинг: 2127
#189: 2007-06-25 13:43:40 ЛС | профиль | цитата
Dilma, может тогда в разделе WEB топик оформишь отдельный, типа -- Проект Delphi-2, там и будем по делу поститься. А всякую муть вырезать без разбора, пусть все нытье тут пишут.
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#190: 2007-06-25 14:04:32 ЛС | профиль | цитата
Galkov писал(а):
Лучше сейчас поправить, пока не разрослось:

исправлено

nesco писал(а):
топик оформишь отдельный

поскольку большинство проблем в написание элементов связано с особенностями реализации скриптового языка, то писать о них можно в разделе "Пакет WEB" форум "Делаем компоненты"
карма: 27
0
Разработчик
Ответов: 26149
Рейтинг: 2127
#191: 2007-06-25 14:15:38 ЛС | профиль | цитата
Dilma писал(а):
реализации скриптового языка, то писать о них можно в разделе "Пакет WEB" форум "Делаем компоненты"

Я хотел предложить лучший вариант, что бы не было путаницы. Nic занимается php и тут я влезу со своими вопросами по D2. На фоне его вопросов я буду искать свои, а он -- свои на фоне моих. Пакеты и реализация, хотя и похожи, но немного отличаются. Не хорошо это как-то.
карма: 22

0
Ответов: 9906
Рейтинг: 351
#192: 2007-06-25 14:29:28 ЛС | профиль | цитата
Dilma, про большинство...

Ну вот вопросы разных концепций....
И как я про это там писать буду, если почти не представляю себе языка WEB. Объектно-ориентированный он или нет... и т.п..
Да те же исключения, к примеру...

Кстати, про концепцию...
Чего-то похожее на doCreate есть у нас с мультиками.
Только называется ##Add
Если посмотреть далее, то завести себе массив (с неизвестным на этапе компиляции размером) элементов Memo (к примеру) - не есть бессмысленное занятие.

Может сделать гибрид концепций
А именно: КАЖДЫЙ элемент может иметь точки ## мультика. В смысле, создаваться обоими способами: как статически, так и динамически.

И как-то надо двигаться нам к тому, что между мультиком и элементом нет разницы.
Увидел на схеме элемент Edit. Не должно ничему противоречить, что это вдруг может оказаться мультик. Не вошел внутрь по двойному клику - значит не повезло, самый низкоуровневый элемент.
Вот и все - и не должно другой разницы просматриваться...

И тогда получается, что наше умение написать hws-файл из мультика - факт более важный, чем получившиеся характеристики скрипта. Наоборот, как-то нам надо стремиться изменить (если необходимо) эти характеристики, чтобы "структурируемость" была незыблемой
И поэтому тут я как-то не очень понял объяснения, если честно:
Dilma писал(а):
Нет не так. На шаге два мы будем вынуждены неким образом в каком-то месте определить явное дублирование данных из потока. Например так:
func doCheck
  println('if(', check, ') {')
event(onOn, _data_)
println('} else {')
event(onOff, _data_)
println('}')
end

Давай обсудим это по-подробнее...
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#193: 2007-06-25 15:02:21 ЛС | профиль | цитата
nesco, подсказка:
Dilma писал(а):
реализации скриптового языка, то писать о них можно в разделе "Пакет WEB" форум "Делаем компоненты"


а не

Dilma писал(а):
реализации скриптового языка, то писать о них можно в разделе "Пакет WEB" форум "Делаем компоненты" топик "Пожелания по компонентам"


[size=-2]------ Добавлено в 15:02
Galkov писал(а):
то завести себе массив (с неизвестным на этапе компиляции размером) элементов Memo (к примеру) - не есть бессмысленное занятие.

согласен.

Galkov писал(а):
КАЖДЫЙ элемент может иметь точки ## мультика

не уверен. Либо требуется подробное разъеснение. Скажем элементы вкладки "Инструменты" классами не являются и быть таковыми не могут(в идеале конечно), а значит понятие динамический статический не очень к ним применимо.

Galkov писал(а):
И как-то надо двигаться нам к тому, что между мультиком и элементом нет разницы.

разница всетаки будет. Хотя бы до тех пор, пока из такого мультика целевой код не будет в точности таким, каким мог бы быть после отработки соответствующего элемента.

Galkov писал(а):
И тогда получается, что наше умение написать hws-файл из мультик

да такая маленькая проблемка

Galkov писал(а):
я как-то не очень понял объяснения, если честно:

вот
Add(If_else,2289941,91,245)
{
link(onTrue,3216334:doData,[])
link(onFalse,6702765:doData,[])
link(Op1,13401117:Var,[])
}
Add(DoData,6702765,147,252)
{
}
Add(DoData,3216334,140,245)
{
}
Add(GlobalVar,13401117,91,210)
{
Name="state"
}
если тут в элемент DoData добавить возможность пропускать таки данные из потока, то получим прототип элемента Switch.
карма: 27
0
Разработчик
Ответов: 26149
Рейтинг: 2127
#194: 2007-06-25 15:40:53 ЛС | профиль | цитата
Dilma, у меня случайно создалось два топика в "Делаем компоненты" для WEB. Если можешь, один без аттача удали.
карма: 22

0
Ответов: 9906
Рейтинг: 351
#195: 2007-06-29 22:05:23 ЛС | профиль | цитата
Наблюдение:

FPC-2.04 - такой же балбес, как и 1.96
Да простят меня за "неполиткорректность"

Вот во что он превращает сделанные нами коды для примера frm.sha
.00403FE0: 55                           push        ebp
.00403FE1: 89E5                         mov         ebp,esp
.00403FE3: 83EC28 sub esp,028 ;"("
.00403FE6: 8945FC mov [ebp][-04],eax
.00403FE9: A140C34000 mov eax,[0040C340]
.00403FEE: E86D380000 call .000407860
.00403FF3: A300E74000 mov [0040E700],eax
.00403FF8: 8B1560C34000 mov edx,[0040C360]
.00403FFE: A100E74000 mov eax,[0040E700]
.00404003: E8D8380000 call .0004078E0
.00404008: 8B55FC mov edx,[ebp][-04]
.0040400B: 894204 mov [edx][04],eax
.0040400E: 8B45FC mov eax,[ebp][-04]
.00404011: 8B4004 mov eax,[eax][04]
.00404014: 8945F8 mov [ebp][-08],eax
.00404017: BA2C010000 mov edx,00000012C
.0040401C: 8B45F8 mov eax,[ebp][-08]
.0040401F: E83C390000 call .000407960
.00404024: 8B45FC mov eax,[ebp][-04]
.00404027: 8B4004 mov eax,[eax][04]
.0040402A: 8945F4 mov [ebp][-0C],eax
.0040402D: BAC8000000 mov edx,0000000C8
.00404032: 8B45F4 mov eax,[ebp][-0C]
.00404035: E876390000 call .0004079B0
.0040403A: 8B1580C34000 mov edx,[0040C380]
.00404040: 8B45FC mov eax,[ebp][-04]
.00404043: 8B4004 mov eax,[eax][04]
.00404046: E8B5390000 call .000407A00
.0040404B: 8B55FC mov edx,[ebp][-04]
.0040404E: 894208 mov [edx][08],eax
.00404051: 8B45FC mov eax,[ebp][-04]
.00404054: 8B4008 mov eax,[eax][08]
.00404057: 8945F0 mov [ebp][-10],eax
.0040405A: BA64000000 mov edx,000000064
.0040405F: 8B45F0 mov eax,[ebp][-10]
.00404062: E8193A0000 call .000407A80
.00404067: 8B45FC mov eax,[ebp][-04]
.0040406A: 8B4008 mov eax,[eax][08]
.0040406D: 8945EC mov [ebp][-14],eax
.00404070: BA14000000 mov edx,000000014
.00404075: 8B45EC mov eax,[ebp][-14]
.00404078: E8633A0000 call .000407AE0
.0040407D: 8B45FC mov eax,[ebp][-04]
.00404080: 8B5008 mov edx,[eax][08]
.00404083: 8B45FC mov eax,[ebp][-04]
.00404086: 8945E4 mov [ebp][-1C],eax
.00404089: B820414000 mov eax,000404120
.0040408E: 8945E0 mov [ebp][-20],eax
.00404091: 8B45E0 mov eax,[ebp][-20]
.00404094: 898268010000 mov [edx][00000168],eax
.0040409A: 8B45E4 mov eax,[ebp][-1C]
.0040409D: 89826C010000 mov [edx][0000016C],eax
.004040A3: 8B15A0C34000 mov edx,[0040C3A0]
.004040A9: 8B45FC mov eax,[ebp][-04]
.004040AC: 8B4004 mov eax,[eax][04]
.004040AF: E84C390000 call .000407A00
.004040B4: 8B55FC mov edx,[ebp][-04]
.004040B7: 89420C mov [edx][0C],eax
.004040BA: 8B45FC mov eax,[ebp][-04]
.004040BD: 8B400C mov eax,[eax][0C]
.004040C0: 8945E0 mov [ebp][-20],eax
.004040C3: BA64000000 mov edx,000000064
.004040C8: 8B45E0 mov eax,[ebp][-20]
.004040CB: E8B0390000 call .000407A80
.004040D0: 8B45FC mov eax,[ebp][-04]
.004040D3: 8B400C mov eax,[eax][0C]
.004040D6: 8945E4 mov [ebp][-1C],eax
.004040D9: BA3C000000 mov edx,00000003C
.004040DE: 8B45E4 mov eax,[ebp][-1C]
.004040E1: E8FA390000 call .000407AE0
.004040E6: 8B45FC mov eax,[ebp][-04]
.004040E9: 8B500C mov edx,[eax][0C]
.004040EC: 8B45FC mov eax,[ebp][-04]
.004040EF: 8945DC mov [ebp][-24],eax
.004040F2: B850414000 mov eax,000404150
.004040F7: 8945D8 mov [ebp][-28],eax
.004040FA: 8B45D8 mov eax,[ebp][-28]
.004040FD: 898268010000 mov [edx][00000168],eax
.00404103: 8B45DC mov eax,[ebp][-24]
.00404106: 89826C010000 mov [edx][0000016C],eax
.0040410C: B800E74000 mov eax,00040E700 ;" @з "
.00404111: E82A3A0000 call .000407B40
.00404116: C9 leave
.00404117: C3 retn

.00404120: 55 push ebp
.00404121: 89E5 mov ebp,esp
.00404123: 83EC08 sub esp,008 ;" "
.00404126: 8945F8 mov [ebp][-08],eax
.00404129: 8955FC mov [ebp][-04],edx
.0040412C: 6A00 push 000
.0040412E: A1C0C34000 mov eax,[0040C3C0]
.00404133: 50 push eax
.00404134: A1E0C34000 mov eax,[0040C3E0]
.00404139: 50 push eax
.0040413A: 8B45F8 mov eax,[ebp][-08]
.0040413D: 8B4004 mov eax,[eax][04]
.00404140: FF7028 push d,[eax][28]
.00404143: E8D8360000 call MessageBoxA ;user32
.00404148: C9 leave
.00404149: C3 retn

.00404150: 55 push ebp
.00404151: 89E5 mov ebp,esp
.00404153: 83EC10 sub esp,010 ;" "
.00404156: 8945F8 mov [ebp][-08],eax
.00404159: 8955FC mov [ebp][-04],edx
.0040415C: C745F400000000 mov d,[ebp][-0C],000000000
.00404163: FF4DF4 dec d,[ebp][-0C]
.00404166: 89F6 mov esi,esi
.00404168: FF45F4 inc d,[ebp][-0C]
.0040416B: 8B45F4 mov eax,[ebp][-0C]
.0040416E: 8945F0 mov [ebp][-10],eax
.00404171: 817DF010270000 cmp d,[ebp][-10],000002710
.00404178: 7F1F jg .000404199
.0040417A: FF4DF0 dec d,[ebp][-10]
.0040417D: 8D7600 lea esi,[esi][00]
.00404180: FF45F0 inc d,[ebp][-10]
.00404183: B265 mov dl,065 ;"e"
.00404185: 8B45F8 mov eax,[ebp][-08]
.00404188: 8D4010 lea eax,[eax][10]
.0040418B: E890030000 call .000404520
.00404190: 817DF010270000 cmp d,[ebp][-10],000002710
.00404197: 7CE7 jl .000404180
.00404199: 817DF4E8030000 cmp d,[ebp][-0C],0000003E8
.004041A0: 7CC6 jl .000404168
.004041A2: 6A00 push 000
.004041A4: A100C44000 mov eax,[0040C400]
.004041A9: 50 push eax
.004041AA: A120C44000 mov eax,[0040C420]
.004041AF: 50 push eax
.004041B0: 8B45F8 mov eax,[ebp][-08]
.004041B3: 8B4004 mov eax,[eax][04]
.004041B6: FF7028 push d,[eax][28]
.004041B9: E862360000 call MessageBoxA ;user32
.004041BE: C9 leave
.004041BF: C3 retn
карма: 9

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