-
Доброе время суток. Delphi 7,Win xp sp 3.
Использую Updown для загрузки из ресурса (температуры и поправочных коэффициентов)
вот мск вариант работает
http://narod.ru/disk/55644044001.6b64b9d276abb4f8848a51d6525c2b9e/RTDest.rar.html
вот заглючил не компилится даёт ошибку
http://narod.ru/disk/55644077001.877a1a119db5480d50fdc2b57b684fa3/TDest.rar.html
[Error] Unit1_1.inc(52): Undeclared identifier: 'Font'
[Fatal Error] TestDest.dpr(6): Could not compile used unit 'Un1.pas'
то есть почему то всовывает строку
Result.UpDown1.Font.FontName := 'Tahoma';
в Unit1_1.inc
может конечно есть ещё различия просто глубоко не стал лезть.
вот попытка "оживить"
http://narod.ru/disk/55644112001.4a6b863ffdf7195d9b164f99741e0c2f/TDestP.rar.html
Удалял UpDown с формы и заново его ложил вешал события
и кнопки работают наоборот)
Вот на чистом
http://narod.ru/disk/55644219001.32820d40cfad9db857910b1e172fa4a7/UpdownSimple.rar.html
Как правильно повесить событие OnChanging?
UpDown1.OnChanging := TOnChanging(); //???
можно его и не вешать обоитисьprocedure Edit3Ch(dummy:pointer;Sender:PControl); обходной вариант
begin
edit1.Text:=pdata[str2int(Edit3.text),0];
edit2.Text:=pdata[str2int(Edit3.text),1];
end;
...
//Edit3.onchange:=TonEvent(MakeMethod(nil,@Edit3Ch));//обходной вариант
//тогда первое значение будет пропущено -
Cobalt © (09.07.12 09:25) [1]За массой слов не видно вопроса.
-
В UpdownSimple
Как правильно повесить событие OnChanging?
UpDown1.OnChanging := TOnChanging(); //??? -
Дмитрий К © (10.07.12 09:59) [3]
-
toДмитрий К Спасибо, теперь увидел где грабли....
type TOnEvent = procedure( Sender: PObj )of object;
...
procedure UpDown1Ch(Dummy_Self: PObj;Sender: PObj; OldPosition,
NewPosition: Smallint; var Allow: Boolean);
begin
edit1.Text:=pdata[str2int(Edit3.text),0];
edit2.Text:=pdata[str2int(Edit3.text),1];
end;
...
UpDown1.OnChanging :=TOnChanging(MakeMethod(nil,@UpDown1Ch)); -
В варианте где заглючил не компилится даёт ошибку.
Даёт ошибку если пытаешься добавить код после type.
там просто нужно добавлять в правильном месте.type
{$IF Defined(KOL_MCK)}
{$I MCKfakeClasses.inc}
{$IFDEF KOLCLASSES} {$I TForm1class.inc} {$ELSE OBJECTS} PForm1 = ^TForm1; {$ENDIF CLASSES/OBJECTS}
{$IFDEF KOLCLASSES}{$I TForm1.inc}{$ELSE} TForm1 = object(TObj) {$ENDIF}
Form: PControl;
{$ELSE not_KOL_MCK}
TForm1 = class(TForm)
{$IFEND KOL_MCK}
KOLProject1: TKOLProject;
KOLForm1: TKOLForm;
Edit1: TKOLEditBox;
Edit2: TKOLEditBox;
Button1: TKOLButton;
UpDown1: TKOLUpDown;
Edit3: TKOLEditBox;
//пытался сунуть сюда после этого даже если код будет исправлен в Unit1_1.inc
//попадёт Result.UpDown1.Font.FontName := 'Tahoma';
procedure Button1Click(Sender: PObj);
procedure UpDown1Changing(Sender: PObj; OldPosition,
NewPosition: Smallint; var Allow: Boolean);
procedure KOLForm1Show(Sender: PObj);
private
{ Private declarations }
public
{ Public declarations }
end;
type
TstrItem = string[9];
TdataArray = array[0..110,0..1] of TstrItem;
pDataarray = ^TdataArray;