Вверх ↑
Этот топик читают: Гость
Ответов: 47
Рейтинг: 2
#1: 2009-04-09 12:12:01 ЛС | профиль | цитата
Для удобства пользования, решил воспользоваться MultiElementEx. Т.к мне не нужно делать это функцией, выставил режим inline

Без использования компонента - все в порядке, ошибок нет.
Вставляю схему в компонент, компилирую - ошибка:
Access violation at address 0055FDDA in module "HiAsm.exe". Read of address 00000068.


Если запустить снова компиляцию, то ошибку не выдаст, но сгенерированный php-код будет не правильным, и Denver выдает
Fatal error: Call to undefined function makeDropDownList12() in D:\home\My_site\www\smiles_bd.php on line 52


Сделано в HiAsm 4.1 build 175, переустановил с нуля - одно и тоже.

Вставляю схему, а ее почему-то урезает ...

Add(DS_MySQL,11642678,42,56)
{
Name="smiles_tb"
SelectState="SELECT * FROM `smiles_tb` ORDER BY `id`; "
InsertState="INSERT INTO `smiles_tb` ( `code` , `url` ) \r\nVALUES (\r\n'%code%', '%url%'\r\n);"
UpdateState="UPDATE `smiles_tb` SET `code` = '%code%' , `url` = '%url%' WHERE `id` = '%id%';"
DeleteState="DELETE FROM `smiles_tb` WHERE `id` = '%id%';"
KeyField="id"
}
Add(DS_FileSystem,15922718,98,56)
{
Name="smiles"
Path="./smiles/"
DataSet=0
}
Add(EntryPoint,10731264,42,119)
{
link(onStart,2215503:doConnect,[])
}
Add(mysql_connect,2215503,98,119)
{
Host="localhost"
Login="root"
DBName="schematics_bd"
link(onConnect,13432691:doMakeManager,[])
}
Add(DataManager,13432691,175,119)
{
DataSource="smiles_tb"
link(onHeader,14245864:doPrint,[(219,125)(219,93)(163,93)(163,62)])
link(onInsert,12210333:doPrint,[(237,153)(237,202)])
link(onFooter,16260300:doPrint,[(219,160)(219,202)(163,202)(163,244)])
}
Add(HTM_Tr,10366264,266,126)
{
link(onPrint,3134712:doEvent,[])
}
Add(HTM_Table,14245864,175,56)
{
PrintMode=1
}
Add(HTM_Table,16260300,175,238)
{
PrintMode=2
}
Add(MultiElementEx,12210333,266,196)
{
CodeType=1
}
BEGIN_SDK
Add(EditMultiEx,10071501,21,21)
{
WorkCount=#7:doPrint|
link(doPrint,12419864:doPrint,[(56,27)(56,90)])
}
Add(HTM_Tr,12419864,91,84)
{
link(onPrint,7397996:doEvent,[])
}
Add(Hub,7397996,154,84)
{
OutCount=3
link(onEvent1,7540607:doPrint,[])
link(onEvent2,6615910:doPrint,[(189,97)(189,125)])
link(onEvent3,6821733:doPrint,[(189,104)(189,160)])
}
Add(HTM_Td,6615910,210,119)
{
link(onPrint,5842346:doPrint,[])
}
Add(HTM_Td,6821733,210,154)
{
}
Add(DM_Button,16179606,252,154)
{
Caption="
[size=9][color=gray]------------ Дoбавленo в 12.10:[/color][/size]
Пока залил на вебфайл [url]http://webfile.ru/3397403[/url]
[size=9][color=gray]------------ Дoбавленo в 12.12:[/color][/size]
Извините, не получилось залить через code :(
[url]http://webfile.ru/3397403[/url]
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#2: 2009-04-09 12:12:19 ЛС | профиль | цитата
alikseyguitar писал(а):
Вставляю схему, а ее почему-то урезает ...

потому что в св-ве Caption содержаться нечитаемые символы, которые оказались там после копирования из среды элемента с русскими буквами. Нужно заменить у себя в системе кодовую страницу либо копировать с переключением на русскую раскладку
карма: 27
1
Голосовали:alikseyguitar
Ответов: 47
Рейтинг: 2
#3: 2009-04-09 12:19:22 ЛС | профиль | цитата
Dilma, спасибо, попробую снова:

Add(DS_MySQL,11642678,42,56)
{
Name="smiles_tb"
SelectState="SELECT * FROM `smiles_tb` ORDER BY `id`; "
InsertState="INSERT INTO `smiles_tb` ( `code` , `url` ) \r\nVALUES (\r\n'%code%', '%url%'\r\n);"
UpdateState="UPDATE `smiles_tb` SET `code` = '%code%' , `url` = '%url%' WHERE `id` = '%id%';"
DeleteState="DELETE FROM `smiles_tb` WHERE `id` = '%id%';"
KeyField="id"
}
Add(DS_FileSystem,15922718,98,56)
{
Name="smiles"
Path="./smiles/"
DataSet=0
}
Add(EntryPoint,10731264,42,119)
{
link(onStart,2215503:doConnect,[])
}
Add(mysql_connect,2215503,98,119)
{
Host="localhost"
Login="root"
DBName="schematics_bd"
link(onConnect,13432691:doMakeManager,[])
}
Add(DataManager,13432691,175,119)
{
DataSource="smiles_tb"
link(onHeader,14245864:doPrint,[(219,125)(219,93)(163,93)(163,62)])
link(onInsert,12210333:doPrint,[(237,153)(237,202)])
link(onFooter,16260300:doPrint,[(219,160)(219,202)(163,202)(163,244)])
}
Add(HTM_Tr,10366264,266,126)
{
link(onPrint,3134712:doEvent,[])
}
Add(HTM_Table,14245864,175,56)
{
PrintMode=1
}
Add(HTM_Table,16260300,175,238)
{
PrintMode=2
}
Add(MultiElementEx,12210333,266,196)
{
CodeType=1
}
BEGIN_SDK
Add(EditMultiEx,10071501,21,21)
{
WorkCount=#7:doPrint|
link(doPrint,12419864:doPrint,[(56,27)(56,90)])
}
Add(HTM_Tr,12419864,91,84)
{
link(onPrint,7397996:doEvent,[])
}
Add(Hub,7397996,154,84)
{
OutCount=3
link(onEvent1,7540607:doPrint,[])
link(onEvent2,6615910:doPrint,[(189,97)(189,125)])
link(onEvent3,6821733:doPrint,[(189,104)(189,160)])
}
Add(HTM_Td,6615910,210,119)
{
link(onPrint,5842346:doPrint,[])
}
Add(HTM_Td,6821733,210,154)
{
link(onPrint,16179606:doPrint,[])
}
Add(DM_Button,16179606,252,154)
{
Caption="insert"
}
Add(HTM_Td,7540607,210,84)
{
link(onPrint,6351827:doPrint,[])
}
Add(DM_Edit,6351827,252,84)
{
DataBind="code"
Mode=1
}
Add(DM_ComboBox,5842346,252,119)
{
DataBind="url"
DataSource="smiles"
CaptionField="name"
DataField="name"
BindMode=1
}
END_SDK
Add(Hub,3134712,312,126)
{
OutCount=3
link(onEvent1,127917:doPrint,[])
link(onEvent2,5991176:doPrint,[(356,139)(356,167)])
link(onEvent3,10435229:doPrint,[(356,146)(356,202)])
}
Add(HTM_Td,5991176,368,161)
{
link(onPrint,14708927:doPrint,[])
}
Add(HTM_Td,10435229,368,196)
{
link(onPrint,4898521:doPrint,[])
}
Add(DM_Button,4898521,410,196)
{
Caption="insert"
}
Add(HTM_Td,127917,368,126)
{
link(onPrint,14330373:doPrint,[])
}
Add(DM_Edit,14330373,410,126)
{
DataBind="code"
Mode=1
}
Add(DM_ComboBox,14708927,410,161)
{
DataBind="url"
DataSource="smiles"
CaptionField="name"
DataField="name"
BindMode=1
}


------------ Дoбавленo в 12.19:
Вроде получилось
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#4: 2009-04-09 12:45:18 ЛС | профиль | цитата
alikseyguitar, проблема в том, что после переноса в контейнер адрес менеджера элемента DM_ComboBox изменился на parent.smiles. Сегодня в пакете WEB не во всех элементах есть проверка на правильность его указания, поэтому и ошибки такого рода возникают.
карма: 27
0
Ответов: 47
Рейтинг: 2
#5: 2009-04-09 13:02:15 ЛС | профиль | цитата
Методом исключения тоже пришел к выводу, что виновата именно эта связка.

Собственно, мне не очень нужен этот компонент, я хотел попробовать переделать компоненты DataManager & Линейка, чтобы работало две и более связки вывода страниц - для удобства взял тестовую схемку, засунул в контейнер - и опа, ошибка

Спасибо за разьяснение, буду что-нибуть думать.
карма: 0

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#6: 2009-07-26 11:15:59 ЛС | профиль | цитата
Вызывает сомнение код файла hiMultiElement.hws:

#hws
...
// ----- формируем тело
call_event = 0
sys.selectElement(cgt.el_get_child_id(0))
event("doWork" + (index + 1), dt) <------------ здесь
...
для CodeType=Function пакета Vbs не проходят данные из потока, видимо надо заменить строкой:

#hws
...
event("doWork" + (index + 1), _data)
...
------------ Дoбавленo в 11.50:
С нижними точками компонента MultiElement в режиме CodeType=Function тоже проблема:

Add(JavaEntryPoint,2953706,21,84)
{
link(onStart,8301104:doData,[])
}
Add(MultiElement,11490417,189,84)
{
link(onEvent1,15576345:doEcho,[])
}
BEGIN_SDK
Add(EditMulti,6220839,21,21)
{
EventCount=1
WorkCount=1
DataCount=1
VarCount=1
link(doWork1,9325730:doValue,[(21,118)])
link(Var1,9325730:Value,[(160,221)])
}
Add(Memory,9325730,154,112)
{
link(onData,6220839:onEvent1,[(321,118)])
}
END_SDK
Add(Hub,14865362,140,84)
{
link(onEvent1,11490417:doWork1,[])
link(onEvent2,2136505:doEcho,[(172,97)(172,146)])
}
Add(DoData,8301104,77,84)
{
Data=String(string_data)
link(onEventData,14865362:doEvent,[])
}
Add(Echo,15576345,252,84)
{
}
Add(Echo,2136505,189,140)
{
link(Message,11490417:Var1,[])
}
Результат:

#bas
function multi_call3(arg1) {
val5 = "";
return(val5);
arg1_var4 = val5;
}

alert(multi_call3("string_data"));
alert(arg1_var3);
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Администрация
Ответов: 15295
Рейтинг: 1519
#7: 2009-07-26 13:30:36 ЛС | профиль | цитата
простой MultiElement не развивился с некоторого времени поэтому часть проблем осталась. Ориентироваться надо на Ex версию.

с возвратом значения из функции в этом же элементе тоже все было нормально, пока по каким-то причинам печать return-на не была перенесена в EditMultiEx. Необходимо закомментарить в нем строку

#hws
println(ret)
а в MultiElementEx раскомментарить это

#hws
if(ret)
println(ret)
end
карма: 27
0
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)