Вверх ↑
Этот топик читают: Гость
Ответов: 5446
Рейтинг: 323
#211: 2011-05-12 01:34:35 ЛС | профиль | цитата
Roma, смотри: в 8й строке
 THiAsmClass = class(TDebug) 
ты начинаешь объявлять класс THiAsmClass. И тут же в 9й строке
 TTest = class 
ты, не закончив объявлять первый класс, объявляешь второй. А так делать нельзя.
карма: 1

1
Голосовали:Roma
Ответов: 16884
Рейтинг: 1239
#212: 2011-05-12 01:38:08 ЛС | профиль | цитата
iarspider, хочешь совсем отучить Roma читать и думать ????

Ты ему уже не только даёшь рыбу, но даёшь уже жаренную, без костей и пожованную
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 5446
Рейтинг: 323
#213: 2011-05-12 02:30:34 ЛС | профиль | цитата
Tad, если бы я ему исправленный код дал - тогда твои перетензии были бы обоснованы.
карма: 1

0
Ответов: 3889
Рейтинг: 362
#214: 2011-05-12 08:20:38 ЛС | профиль | цитата
Tad, тут надо чётко разделять цели и пользу. Пока Roma приносит пользу, публикуя то, что узнаёт, в общих интересах информировать его оперативно и точно относительно этой темы. Иначе это породит череду ошибок и вовремя не исправленная публичная информация потенциально может дезинформировать многих. Если каждый будет с абсолютного нуля проходить путь, пройденный поколениями до него, то прогресс остановится на месте, а человек может так и потерять интерес раньше, чем привнесёт что-то новое , опираясь на опыт предшественников.

Roma, если не трудно, всё, что узнаёте, фиксируйте, систематизируйте и публикуйте, чтобы Ваши ошибки не повторяли другие. Да и Вам самому памятка будет. И хороший шанс узнать от гуру что-то под благовидным предлогом
карма: 1

0
Ответов: 1321
Рейтинг: 37
#215: 2011-05-12 12:09:56 ЛС | профиль | цитата
1nd1g0 писал(а):
фиксируйте, систематизируйте и публикуйте

Почти то-же что и моя справка

Я когда классы изучу , тогда и новый раздел добавлю, и для себя и для всех
PS
Я учусь не на словах, а на примерах
------------ Дoбавленo в 11.53:

unit HiAsmUnit;

interface

uses kol,Share,Debug;

type
THiAsmClass = class(TDebug)
private

public

end;

TTEst = class
private

public

end;
implementation

end.
Я просто не сразу допёр что end; в том случае конец класса
------------ Дoбавленo в 12.09:

unit HiAsmUnit;

interface

uses kol,Share,Debug;

type
THiAsmClass = class(TDebug)
private
public
end;

TTEst = class
a:string;
b:string;
private
public
onEvent: THI_Event;
Procedure doCalc(var _Data:TData; Idx:Word);
end;


implementation
Procedure TTEst.doCalc;
begin
_hi_OnEvent(onEvent,'Test');
end;
end.

Да вот только классы в IC вы хрен примените

IC их просто не видит


Add(InlineCode,15165760,189,266)
{
WorkPoints=#6:doCalc|
EventPoints=#3:yes|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|9: public|5: end;|0:|14: TTEst = class|10: a:string;|10: b:string;|10: private|37: public |50: Yes: THI_Event; |48: Procedure doCalc(var _Data:TData; Idx:Word); |5: end;|1: |1: |14:implementation|23:Procedure TTEst.doCalc;|6: begin|26: _hi_OnEvent(yes,'erser');|5: end;|4:end.|
link(yes,13677077:doText,[])
}
Add(Button,7431964,119,266)
{
Left=115
Top=255
link(onClick,15165760:doCalc,[])
}
Add(Label,13677077,245,266)
{
Left=245
Top=265
}

И плюс к тому, ошибки странные
C:\Program Files\HiAsm\Elements\delphi\code\hiMainForm_16BC150.pas(137) Error: Undeclared identifier: 'yes'

C:\Program Files\HiAsm\Elements\delphi\code\hiMainForm_16BC150.pas(138) Error: Undeclared identifier: 'doCalc'
карма: 0

0
Ответов: 3889
Рейтинг: 362
#216: 2011-05-12 12:34:37 ЛС | профиль | цитата
[offtop]
Roma писал(а):
Почти то-же что и моя справка
Я про неё Вам и говорю, морально поддерживаю, так сказать. "Пгавильной дагогой идёте, тавагищи!"[/offtop]
карма: 1

0
Ответов: 1321
Рейтинг: 37
#217: 2011-05-12 12:55:54 ЛС | профиль | цитата
Значит в справку про классы описание ненужно
[flood]Я наметил сделать учебник №2 (после того как сделаю №1 )
и в него уже добавлю классы[/flood]
карма: 0

0
Ответов: 4630
Рейтинг: 749
#218: 2011-05-12 13:19:23 ЛС | профиль | цитата
Roma писал(а):
Да вот только классы в IC вы хрен примените

Это почему? THiAsmClass - это что не класс?
Подробно в твоем коде не разбирался, но суть такова: в коде компонента IC среде известен только один класс - THiAsmClass.
Все точки компонента должны быть объявлены в этом классе, среда будет их вызывать именно из него. Поскольку ты doCalc объявил в TTEst, а не в THiAsmClass, то и получается Undeclared identifier: 'doCalc'. А так в коде IC ты можешь делать сколько хочешь своих классов, и делать с ними что угодно. Но для среды должен быть правильно объявлен именно THiAsmClass.
карма: 26

0
Ответов: 1321
Рейтинг: 37
#219: 2011-05-12 13:27:26 ЛС | профиль | цитата
Как тогда вызывать процедуры?
карма: 0

0
Ответов: 4630
Рейтинг: 749
#220: 2011-05-12 13:32:45 ЛС | профиль | цитата
code_23883.txt
карма: 26

1
файлы: 1code_23883.txt [946B] [775]
Голосовали:Roma
Ответов: 1321
Рейтинг: 37
#221: 2011-05-12 14:29:23 ЛС | профиль | цитата
Стоит-ли добавить в справку по IC описание классов?
Я просто не вижу смысла их использования в IC
карма: 0

0
Ответов: 4630
Рейтинг: 749
#222: 2011-05-12 16:54:52 ЛС | профиль | цитата
Думаю, стоит описать то, как оформляются точки и свойства компонента в классе THiAsmClass, из расчета, что пользователь умеет работать с классами. А за дополнительными сведениями отправлять в букварь по Делфи.
карма: 26

0
Ответов: 1321
Рейтинг: 37
#223: 2011-05-13 14:54:11 ЛС | профиль | цитата
Как присвоить переменной результат ASM кода
карма: 0

0
Разработчик
Ответов: 4698
Рейтинг: 426
#224: 2011-05-13 14:55:53 ЛС | профиль | цитата
#pas
function SetVal:real;
var tmp:integer;
begin
asm
MOV tmp,5
end;
Result := tmp;
end;
карма: 10
0
Ответов: 1321
Рейтинг: 37
#225: 2011-05-13 14:59:10 ЛС | профиль | цитата
А в сам ASM ?
Таким-же образом?
карма: 0

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