Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.09.23;
Скачать: [xml.tar.bz2];

Вниз

OnSetText   Найти похожие ветки 

 
sdram   (2002-09-12 11:52) [0]

Подскажите почему компилятор, в месте присвоения событию процедуру обработки, ругается "incompatible types"?

procedure LoockUpFieldSetText(Sender: TField; const Text: String);
...

with TStringField.Create(fGen.dsGenSpec) do
OnSetText := fGen.LoockUpFieldSetText; // incompatible types
...

procedure TfGen.LoockUpFieldSetText(Sender: TField; const Text: String);
begin
...
end;


 
AL2002   (2002-09-12 11:59) [1]

Потому что Incompatible types :)

TfGen.LoockUpFieldSetText(Sender) попробуй.


 
sdram   (2002-09-12 12:01) [2]

Нет.


 
AL2002   (2002-09-12 12:05) [3]

Значит, и не получится.

Ну, попробуй TfGen.LoockUpFieldSetText(Text).
Хотя это ересь.


 
still   (2002-09-12 12:08) [4]

У тебя в первом случае - procedure
а во втором - procedure of object, т.е. метод

Они не compatible


 
sdram   (2002-09-12 12:08) [5]

Событие определенно:
type TFieldSetTextEvent = procedure(Sender: TField; const Text: String) of object;
property OnSetText: TFieldSetTextEvent;

но действительно что-то с параметрами полное ругательство звучит так:
incompatible types : Parameter lists differ


 
Alx2   (2002-09-12 12:09) [6]

sdram © (12.09.02 11:52)
>fGen.dsGenSpec - какого типа?


 
Игорь Шевченко   (2002-09-12 12:10) [7]

sdram © (12.09.02 12:01)

Попробуйте это присваивание сделать внутри метода формы TfGen, к примеру


 
AL2002   (2002-09-12 12:10) [8]

Parameter lists differ
Два параметра? Sender & Text?


 
ЮЮ   (2002-09-12 12:11) [9]

procedure (не метод объекта) LoockUpFieldSetText

OnSetText := какого типа переменная OnSetText ?


 
sdram   (2002-09-12 12:13) [10]


> sdram © (12.09.02 11:52)
> >fGen.dsGenSpec - какого типа?

TADODataSet


 
sdram   (2002-09-12 12:19) [11]


> Игорь Шевченко © (12.09.02 12:10)

Я не написал, но оно и так внутри метода формы TfGen


 
Alx2   (2002-09-12 12:19) [12]

У меня это компилируется :)

type
tfgen = class
procedure LoockUpFieldSetText(Sender: TField; const Text: String);
end;

procedure TfGen.LoockUpFieldSetText(Sender: TField; const Text: String);
begin

end;

procedure TForm1.FormCreate(Sender: TObject);
Var fGen : TFGen;
begin
with TStringField.Create(nil) do
OnSetText := fGen.LoockUpFieldSetText;
end;



 
ЮЮ   (2002-09-12 12:30) [13]

А у него, наверное
TfGen = class(TForm) ???

Надо не
OnSetText := fGen.LoockUpFieldSetText;
а
OnSetText := LoockUpFieldSetText;

При этом назови свою первую процедур как-нибудь иначе




 
ЮЮ   (2002-09-12 12:35) [14]

Это к тому, что в случае
procedure TForm1.FormActivate(Sender: TObject);
begin
...
end;

Form1.FormActivate(Sender: TObject); - procedure
Form1.onActivate - TNotifyEvent




 
sdram   (2002-09-12 12:42) [15]


> ЮЮ ©

Так все и сделал невкакую с той-же ошибкой.


 
Alx2   (2002-09-12 12:45) [16]

>sdram © (12.09.02 12:42)
У меня компилируется (см Alx2 © (12.09.02 12:19)). Найди разницу.


 
sdram   (2002-09-12 12:51) [17]

Разницы, с первого (да и со второго) взгляда нет только в классе.


 
Alx2   (2002-09-12 12:54) [18]

Вышли unit. Скорее всего где-то еще что-то с точно таким же именем сидит, но другого типа.


 
sdram   (2002-09-12 12:56) [19]

Причем
OnChange := fGen.LoockUpFieldSetText;
работает без проблем ??!!


 
Alx2   (2002-09-12 12:58) [20]

Ага


 
sdram   (2002-09-12 13:01) [21]

Да Нет, я же изменяю параметры процедуры для OnChange , иначе не работает.


 
Alx2   (2002-09-12 13:01) [22]

Может у тебя fGen вовсе не типа TFGen?
Код нужен. С описанием переменных и классов.


 
sdram   (2002-09-12 13:03) [23]

На 15 мин отойду, код длинный.


 
ЮЮ   (2002-09-12 13:04) [24]

попробуй обойтись без with, кто знает что за OnSetText ты пытаешься изменить



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.09.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.007 c
4-73938
Донской
2002-08-05 20:29
2002.09.23
lockfile() от имени системы


1-73638
mic_2000
2002-09-12 16:33
2002.09.23
Как в StringGrid засунуть ComboBox?


3-73533
sniknik
2002-09-01 00:45
2002.09.23
Поддерживает Jet тип Grafic?


3-73526
denimas
2002-09-02 08:26
2002.09.23
Месяц


1-73694
Igel
2002-09-09 09:54
2002.09.23
Как определить hWnd моего приложения, если





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский