Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26170
Рейтинг: 2127
#121: 2007-06-21 20:30:02 ЛС | профиль | цитата
Вячеслав писал(а):
Осталось ещё компонентов 500

А я только 300 насчитал.
Вячеслав писал(а):
А проблемы KOL
А проблемы FPC

А это тут причем? Что там, что тут -- одинаково.

[size=-2]------ Добавлено в 20:30
Вячеслав писал(а):
Есть идеи по совершенно другой концепции проекта Делфи

ты уже писал про элемент -- функция, это оно или нет?
карма: 22

0
Ответов: 3655
Рейтинг: 69
#122: 2007-06-21 21:14:28 ЛС | профиль | цитата
nesco писал(а):
А я только 300 насчитал.

А upload
nesco писал(а):
А это тут причем? Что там, что тут -- одинаково.

Так кто их будет решать.
KOL к стати на Ассемблере написан (наполовину).
nesco писал(а):
ты уже писал про элемент -- функция, это оно или нет?

В принципе да - есть несколько вариантов.
Но главный плюс это массовость - написать функцию гораздо проще чем компонент(к стати можно взять готовую). ИМХО конечно.
карма: 0

0
Ответов: 241
Рейтинг: 45
#123: 2007-06-21 21:32:48 ЛС | профиль | цитата
Galkov писал(а):
Надо искать не KOL, а FPC.
Не знаю - у меня тоже поиск не работает (но я закачивал)

http://tempsoft.narod.ru/fpc204.7z
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#124: 2007-06-21 22:08:50 ЛС | профиль | цитата
Wolfik, а ты его пробовал? Как он? Чего-то ты редкий у нас гость, давно тебя небыло видно.

[size=-2]------ Добавлено в 22:01
Wolfik, а случаем у тебя нет к нему строки компиляции применительно к HiAsm'y.

[size=-2]------ Добавлено в 22:08
Вячеслав писал(а):
А upload

И что там полезного осталось?
Вячеслав писал(а):
Так кто их будет решать.
KOL к стати на Ассемблере написан (наполовину).
Так Galkov, вроде, KOL патчит.
Вячеслав писал(а):
написать функцию гораздо проще чем компонент
А как ты контролы собрался делать. Там одной функцией не обойдешься. Ты видел обработчик мессаг в HiLightMemo, или графический обработчик в StringTable (он еще не полный) или ListBox'e.
карма: 22

0
Ответов: 3655
Рейтинг: 69
#125: 2007-06-21 23:28:16 ЛС | профиль | цитата
nesco писал(а):
Так Galkov, вроде, KOL патчит.

А дальше будет (патчить)
nesco писал(а):
А как ты контролы собрался делать. Там одной функцией не обойдешься. Ты видел обработчик мессаг в HiLightMemo, или графический обработчик в StringTable (он еще не полный) или ListBox'e.

Один из вариантов это парсер процедур из делфи в ХиАсм.
Второй это Шаблон компонента создаёшь ты а дополнения любой пользователь(знакомый с делфи)
Всё делается на основе шаблонов(пользователю например для создания точки надо только указать её имя и расположение.)
nesco писал(а):
И что там полезного осталось?

Ну найти можно.
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#126: 2007-06-21 23:49:51 ЛС | профиль | цитата
Вячеслав писал(а):
Ну найти можно

Вот сейчас это как раз, ну очень, актуально.
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#127: 2007-06-22 10:22:30 ЛС | профиль | цитата
Вячеслав писал(а):
Есть идеи по совершенно другой концепции проекта Делфи.

Хотелось бы послушать.
карма: 27
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#128: 2007-06-22 14:21:32 ЛС | профиль | цитата
Dilma, ничерта у меня не получается считать данные из потока. Как правильно выдать событие с данными на выход onТочка1 и прочитать эти данные на doТочка2 другого компонента? Если можно, маленький пример в коде? У меня получается только читать верхние точки и передавать через нижние, напрямую через компонент поток данных не проходит, только события.
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#129: 2007-06-22 14:34:29 ЛС | профиль | цитата
nesco писал(а):
Если можно, маленький пример в коде?

nesco, этих примерчиков в пакете WEB почти 200 штук. Есть желание, чтобы именно я открыл любой из них, скопировал и выложил в качестве ответа на этот пост

nesco писал(а):
ничерта у меня не получается считать данные из потока

....

Dilma писал(а):
1) При сообщение об ошибке в среде или компоненте желательно прикрепить скриншот, содержимое окна Отладка, небольшой пример для её демонстрации или как можно подробное описание что и как делалось.


распечатанное 20 шрифтом над монитором еше не висит до сих пор
карма: 27
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#130: 2007-06-22 14:43:36 ЛС | профиль | цитата
Dilma писал(а):
содержимое окна Отладка

где отладка в Delphi2, ее там нет. Как мне привести пример, если этого компонента еще в среде нет, я его только отлаживаю?
Еще вопрос. Я случайно нажал какую-то клавишу во встроенном редакторе и около курсора возникло окно со всеми функциями, но я не могу больше этого повторить. Что это за клавиша?
Вот код нового компонента
func doIntToStr
   fvar(d1,old)
d1 = Data
old = block.select(BLK_PRIV_VAR)
println(s, ':string;')
block.select(old)
println(s, ' := int2str(', d1, ');')
event(onResult, s)
end

func Result
if(not linked(doIntToStr))
fvar(d1,old)
d1 = Data
old = block.select(BLK_PRIV_VAR)
println(s, ':string;')
block.select(old)
println(s, ' := int2str(', d1, ');')
return(s)
else
return(s)
end
end[/code]А вот то, куда он выводится
func doMessage(_data_)
  if (Message <> '') 
println('MessageBox(', isset(WIN_PARENT) ? (WIN_PARENT + '.Handle') : '0', ', PChar(', Message, '), ', 'PChar(\'hiasm msg\'), MB_OK);')
elseif (Message = '' and Text <> '')
println('MessageBox(', isset(WIN_PARENT) ? (WIN_PARENT + '.Handle') : '0', ', PChar(', Text, '), ', 'PChar(\'hiasm msg\'), MB_OK);')
else
println('MessageBox(', isset(WIN_PARENT) ? (WIN_PARENT + '.Handle') : '0', ', PChar(', _data_, '), ', 'PChar(\'hiasm msg\'), MB_OK);')
event(onMessage)
end
Что я делаю не так?
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#131: 2007-06-22 15:10:41 ЛС | профиль | цитата
nesco писал(а):
Что это за клавиша?

стандартное сочетание всх IDE сред - Ctrl+Space. Для объектов список св-тв открывается автоматом после печати точки.

nesco писал(а):
Вот код нового компонента

ожидается так же содержимое *.ini. Приведенный код синтаксически верен. Есть только пара замечаний:
1) d1 = Data - для чего это?
2) func doIntToStr -> должна содержать блок проверки на использование нижней точки Result.
3) if(not linked(doIntToStr)) - если в if используются обе условные ветки, то лучше поменять их местами и убрать оператор отрицания not. Такой код будет выполняться быстрее.
4) func Result -> при неподключенной точки doIntToStr этот метод должен возвращать результат в поток без промежуточного сохранения.
5) if (Message <> ') и elseif (Message = ' and Text <> ') что это еще за проверки такие

уже на этом этапе не соблюдение пунктов 2) и 4) приведет к исключению компонента из пакета. Реализация должна быть такой, чтобы ничего лишнего в код конечного приложения не попадало если того не желает пользователь. Иначе переход на FTCG теряет всякий смысл.
карма: 27
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#132: 2007-06-22 15:18:44 ЛС | профиль | цитата
Я разобрался с загрузкой из потока. Это у меня Message не читало поток. Я его переделал вот так code_1589.txt Все эти проверки -- это попытка привести к старому алгоритму чтения данных ReadXXXX(_Data, _data_Data, _prop_Data)
карма: 22

0
файлы: 1code_1589.txt [574B] [531]
Администрация
Ответов: 15295
Рейтинг: 1519
#133: 2007-06-22 15:27:36 ЛС | профиль | цитата
nesco писал(а):
се эти проверки -- это попытка привести к старому алгоритму чтения данных

это не является правильным. Алгоритм уже встроен в кодогенератор и не следует реализовывать его вручную. При нарушение данного пожелания компонент может начать не верно работать после возможного расширения алгоритма. Скажем когда дело дойдет до реализации МТ, то ни один компонент с таким "ручным" разбором не будет работать с этой технологией.

elseif (Text <> '') - так тоже делать нельзя. Правильнее использовать isdef и isset. Причина достаточно проста: если мы меняем дефолтное значение св-ва, то при такой реализации придется править еще и код элемента.

elseif (Text <> '') и ', PChar(', Text, '), ', - нельзя читать значение параметра элемента более одного раза. Этот код будет не верно работать в том случае, когда Text читается из потока. Поскольку в первый раз вместо Text кодогенератор поставит данные из потока, а во второй раз он уже будет считать, что поток пуст и вместо Text окажется пустая строка.
карма: 27
0
Ответов: 9906
Рейтинг: 351
#134: 2007-06-22 15:34:48 ЛС | профиль | цитата
Dilma, есть еще одна фишка...

Пусть мы хотим получить код, функциональность в Дельфи-1 которого такова

if State then begin
  ReadData(_Data,_data_X);
...
end else begin
ReadData(_Data,_data_Y);
...
end;
Чего делать будем при неподключенных верхних точках
карма: 9

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#135: 2007-06-22 15:37:04 ЛС | профиль | цитата
Dilma, в каком компоненте можно посмотреть, как это реализовано правильно, именно со всеми частями данных?
карма: 22

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