Есть вопрос к профи, схема с проблемным кодом code_37174.txt
Сильно только не смейтесь, гуглил муглил но так ни х.. не понял
Этот топик читают: Гость
Ответов: 5227
Рейтинг: 587
|
|||
карма: 4 |
| ||
файлы: 1 | code_37174.txt [967B] [794] |
Ответов: 1841
Рейтинг: 369
|
|||
andrestudio писал(а): проблемным кодомТут требуется предварительное объявление типа как КЛАСС. В плюсах это возможно проделать только с указателями. Например так, но с заменой record на class (неявный ссылочный тип): code_37175.txt Со структурами без указателей скорее всего невозможно предварительно объявить тип как структуру... |
|||
карма: 1 |
| ||
файлы: 1 | code_37175.txt [439B] [723] | ||
Голосовали: | andrestudio |
Ответов: 5227
Рейтинг: 587
|
|||
CriDos, спасибо. И что получается, кроме как обернуть в класс и без вариантов
|
|||
карма: 4 |
|
Ответов: 211
Рейтинг: 52
|
|||
andrestudio,
вариант с record type PMyRecord = ^TMyRecord; TMyProc1 = procedure (dt: PMyRecord ) of object; TMyProc2 = procedure (dt: PMyRecord ) of object; TMyRecord = record i: integer; s: string; MyProc1: TMyProc1; MyProc2: TMyProc1; Chk: boolean; end; вариант 2 TMyRecord = record i: integer; s: string; MyProc1: pointer; MyProc2: pointer; Chk: boolean; end; PMyRecord = ^TMyRecord; TMyProc1 = procedure (var dt: TMyRecord ) of object; TMyProc2 = procedure (var dt: TMyRecord ) of object; и соответственно вызов: TMyProc2(MyRecord.MyProc2)(..arg..); vs TMethod TMyRecord = record i: integer; s: string; MyProc1:TMethod; MyProc2:TMethod; Chk: boolean; end; PMyRecord = ^TMyRecord; impl.. function my_proc(this : PMyRecord):string; begin this^.s:='dfdf';//прочие данные result:=this^.s;//к примеру.. end; //main var MyRecord:TMyRecord; begin MyRecord.s:=''; MyRecord.MyProc1:=MakeMethod(@ MyRecord ,@ my_proc); //вызов writeln(MyRecord.MyProc1);//<-- вызов и вывод результата "dfdf" еще вариант TMyProc1 = procedure (var dt) of object; и соответственно TMyRecord(dt).s:='ghghg'; |
|||
карма: 1 |
| ||
файлы: 1 | code_37178.txt [267B] [701] | ||
Голосовали: | andrestudio |
Ответов: 5227
Рейтинг: 587
|
|||
Minkovsky, спасибо, но вариант с указателем мне известен, придётся видать переделать всё по фен-шую
------------ Дoбавленo в 10.50: меня бы впрочем и TMethod в качестве TMyProc1 удовлетворил, но из за отсутствия в KOL RTTI про это можно забыть. |
|||
карма: 4 |
|
Ответов: 497
Рейтинг: 16
|
|||
громко не смейтесь и не гоните в зашей я не мастер Delphi. уже несколько раз хотел так сказать портонуть элементы с Delphi в Hiasm но спотыкаюсь об Classes.pas .
Это все из за Kol? Кто то думал(пытался) отвязать Hiasm от Kol? Да скажете "размер программы и все компоненты на Kol, отвязать мягко говоря глупо" но без Kol перенос и написание компонентов станет легче в разы. Лично я готов пожертвовать размером exe-шника в пользу функциональности. Я отвязать не смогу но могу простенькие элементы отвязать. |
|||
карма: 1 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Тут проблема не в размере, а в платности Delphi VCL. А если не VCL - то какая разница, что портировать, KOL, или с 0 всё писать или ещё что-то?
но спотыкаюсь об Classes.pas Ничего сложного - выбрасываешь из требуемого кода Classes в uses и смотришь, на что ругается. В основном, всё что там используется есть в KOL (TList, TStringList, TStream). Остальное несложно дописать самому. |
|||
карма: 26 |
| ||
Голосовали: | Tad |
Ответов: 57
Рейтинг: 0
|
|||
Всем привет!
Помогите вставить код правильно для определения температуры жёсткого диска :
|
|||
карма: 0 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Выдаёт что-то непонятное:
|
|||
карма: 26 |
|
Ответов: 8921
Рейтинг: 823
|
|||
Netspirit, а ваш код выдаёт всё понятное, жаль градусы Integer
ТемператураДиска.jpg |
|||
карма: 19 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Леонид писал(а): а ваш код выдаёт всё понятное, жаль градусы IntegerУ Tad-a переняли выкладывать рисунки, а не схемы? |
|||
карма: 22 |
|
Ответов: 57
Рейтинг: 0
|
|||
без таймера ноль выдаёт а с таймером 255 , вот ещё вариант с делфи форума :
|
|||
карма: 0 |
|
Ответов: 8921
Рейтинг: 823
|
|||
nesco, схема от Netspirit-а постом выше
|
|||
карма: 19 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Леонид писал(а): схема от Netspirit-а постом вышеДа ладно, в его схеме нет графика |
|||
карма: 22 |
|
Ответов: 8921
Рейтинг: 823
|
|||
nesco писал(а): в его схеме нет графикаИ таймера тоже нет, и суслика не видно |
|||
карма: 19 |
|