Вверх ↑
Этот топик читают: Гость
Ответов: 9
Рейтинг: 2
#91: 2011-12-29 01:05:32 ЛС | профиль | цитата
1nd1g0 писал(а):
TimeCounter

func init()
    sys.add_var_loc('counter', 5)
end
далее идём в hiSys.hws

func add_var_loc(name, type)
...
blk_lvars.println(var_type(type) + ' ' + f + ' = ' + to_type('', type) + ';') //на этой строке вылетает
...
end

Точнее при вызове функции to_type() падает кодоген и за ним среда.
------------ Дoбавленo в 01.05:
В общем ошибка похоже кроется на уровне кодогена.
trace(long(123)) = плачевный результат.
карма: 0

0
Администрация
Ответов: 15294
Рейтинг: 1518
#92: 2011-12-29 05:27:39 ЛС | профиль | цитата
с последнем коммитом исправлены некоторые ошибки, в том числе и приведение типов в hiSys

так же добавлена небольшая справка по RTCG (HiAsm -> Структура пакета HiAsm -> RTCG -> Синтаксис), описывающая текущие возможности кодогенератора
карма: 26
0
Ответов: 3889
Рейтинг: 362
#93: 2011-12-29 09:54:32 ЛС | профиль | цитата
Выходящие из TimeCounter данные не могут быть переданы в метку т.к. используется не инициализированная переменная ("res2")
code_26363.txt
код элемента
include("WinControl-proc")

func init
// add widget
sys.add_widget('Label')

// initialize properties
sys.set_undef_field('Text', this.props("Caption"))

// initialize events
sys.add_event('onClick', 'Click', this.codename + '.Text')

// initialize common events and properties
include("WinControl-init")
end

func doText(text)
blk.println(this.codename + '.Text = ', d("Text"), ';')
end

func Caption
return(this.codename + '.Text')
end
Отладка
Command line: csc.exe "/out:C:\Documents and Settings\User\Projects\CNET_benchmark\label_text.exe" /target:winexe "/win32res:C:\Program Files\HiAsm\Elements\cnet\code\allres.res" "C:\Program Files\HiAsm\Elements\cnet\code\label_text.cs"
Microsoft (R) Visual C# 2008 Compiler version 3.5.30729.1
for Microsoft (R) .NET Framework version 3.5
Copyright (C) Microsoft Corporation. All rights reserved.

c:\Program Files\HiAsm\Elements\CNET\code\label_text.cs(22,3): error CS0103: The name 'res2' does not exist in the current context
c:\Program Files\HiAsm\Elements\CNET\code\label_text.cs(23,18): error CS0103: The name 'res2' does not exist in the current context
Сборка завершена.
Исходник на До-диез
using System;
using System.Windows.Forms;
using System.Drawing;

public class MyForm : Form {

------------ Дoбавленo в 09.37:
Форум испортил сообщение и не даёт отредактировать, т.ч. досылаю
Ария в До-диез
using System;
using System.Windows.Forms;
using System.Drawing;

public class MyForm : Form {
private Form EntryPoint1;
private long counter2;
private Label Label3;

public MyForm() {
EntryPoint1 = this;
Text = "Form";
Left = 0;
Top = 0;
Width = 400;
Height = 300;
// init --------------------------------------------
Label3 = new Label();
addWidget(Label3, 90, 80, 50, 15);
// main body ---------------------------------------
counter2 = DateTime.Now.Ticks;
res2 = (int)(DateTime.Now.Ticks - counter2)/10000;
Label3.Text = (res2).ToString();
}
private void addWidget(Control ctl, int x, int y, int w, int h) {
ctl.Location = new System.Drawing.Point(x, y);
ctl.Size = new System.Drawing.Size(w, h);
this.Controls.Add(ctl);
}


public static void Main() {
Application.Run(new MyForm());
}
}
------------ Дoбавленo в 09.53:
[offtop]схему форум тоже повредил, т.ч. перевыкладываю[/offtop]

Add(EntryPoint,2953706,21,105)
{
link(onCreate,2297381:doStart,[])
}
Add(Label,5116148,119,112)
{
Left=75
Top=110
Point(onClick)
}
Add(TimeCounter,2297381,77,105)
{
link(onStart,2297381:doStop,[(168,111)(168,156)(65,156)(65,118)])
link(onStop,5116148:doText,[])
}


------------ Дoбавленo в 09.54:
[offtop]Перевыложил схему и тут же появилось пропавшее ранее вложение - схема, да не одно, а с бонусом [/offtop]
карма: 1

0
Ответов: 758
Рейтинг: 112
#94: 2011-12-29 10:46:35 ЛС | профиль | цитата
Dilma писал(а):
3.5 (дефолтная для W7)

А можно ли, сделать компилятор и библиотеки пакета C# .NET переносными, также как De1phi4
Это нужно для портабельности самой среды HiAsm
карма: 1

0
Ответов: 3889
Рейтинг: 362
#95: 2011-12-29 10:56:27 ЛС | профиль | цитата
miver писал(а):
сделать компилятор и библиотеки пакета C# .NET переносными

таскать с собою +65 мегабайт (для .NET 3.5)
карма: 1

0
Ответов: 758
Рейтинг: 112
#96: 2011-12-29 11:43:00 ЛС | профиль | цитата
1nd1g0 писал(а):
таскать с собою +65 мегабайт (для .NET 3.5)

Меня вполне устраивает. И даст возможность всегда иметь под рукой средство разработки
miver писал(а):
Это нужно для портабельности самой среды HiAsm

------------ Дoбавленo в 11.43:
1nd1g0, Я так понял Ваш ответ - возможно
Тогда можете выложить эти 65 мегабайт или скажите какие файлы нужно скопировать на флешку
карма: 1

0
Ответов: 5446
Рейтинг: 323
#97: 2011-12-29 12:40:28 ЛС | профиль | цитата
miver, у дяди Билла, где же ещё?
dotNET Framework 3.5SP1,
dotNET Framework 4.0.
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#98: 2011-12-29 13:46:33 правка | ЛС | профиль | цитата


Редактировалось 7 раз(а), последний 2022-09-20 02:38:32
карма: 0

0
Ответов: 5446
Рейтинг: 323
#99: 2011-12-29 14:17:55 ЛС | профиль | цитата
г. Гость., у дяди билла можно взять Express edition.
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#100: 2011-12-29 14:30:03 правка | ЛС | профиль | цитата


Редактировалось 7 раз(а), последний 2022-09-20 02:07:54
карма: 0

0
Администрация
Ответов: 15294
Рейтинг: 1518
#101: 2011-12-29 14:45:22 ЛС | профиль | цитата
1nd1g0 писал(а):
Выходящие из TimeCounter данные не могут быть переданы в метку т.к. используется не инициализированная переменная ("res2")

поправлено
карма: 26
0
Главный модератор
Ответов: 2997
Рейтинг: 395
#102: 2011-12-29 16:04:44 ЛС | профиль | цитата
удалено за неактуальностью
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 5446
Рейтинг: 323
#103: 2011-12-29 20:55:25 ЛС | профиль | цитата
Я так понимаю, фокус вида "doOperation%OpType%" *TCG не поддерживает?
карма: 1

0
Разработчик
Ответов: 4697
Рейтинг: 426
#104: 2011-12-29 22:02:46 ЛС | профиль | цитата
iarspider, а зачем? Время компиляции не так важно, сделай обычным if/elseif/else/end
карма: 10
0
Администрация
Ответов: 15294
Рейтинг: 1518
#105: 2011-12-29 22:24:02 ЛС | профиль | цитата
iarspider писал(а):
Я так понимаю, фокус вида "doOperation%OpType%" *TCG не поддерживает?

эта конструкция бессмыслена в кодогенераторах данного типа
карма: 26
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)