Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.07;
Скачать: CL | DM;

Вниз

выполенние процедуры по указателю   Найти похожие ветки 

 
Pavel_   (2003-03-26 14:25) [0]

мне необходимо выполнить процедуру имея указатель на нее
кто нибудь поможет

спасибо


 
Palladin ©   (2003-03-26 14:28) [1]

по мимо указателя тебе бы неплохо былобы знать call convention и список параметров соотвесно...


 
Pavel_   (2003-03-26 14:34) [2]

2 Palladin
я описал процедурный тип
TProcedure = procedure;
procedure doSomething(p:TProcedure);
begin
p;
end;

насколько код корректен?


 
Digitman ©   (2003-03-26 14:38) [3]

в приведенном контексте - вполне корректен


 
Jel ©   (2003-03-26 14:39) [4]

Если процедура без параметров и не из dll, то почему бы и нет?


 
Pavel_   (2003-03-26 15:23) [5]

при вызове doSomething я передаю в нее метод класа и
компилятор мне говорит о несоотв. типов как лечить


 
Pavel_   (2003-03-26 15:24) [6]

мне хотелось бы передавать по указателю типа @Class.Metod
хотя в принципе все равно


 
Anatoly Podgoretsky ©   (2003-03-26 15:34) [7]

Так тогда тебе нужен Method of object


 
Pavel_   (2003-03-26 15:38) [8]

2 Anatoly Podgoretsky © не понял


 
Digitman ©   (2003-03-26 16:03) [9]


> Pavel_


есть просто процедуры и функции, а есть процедурные и функциональные методы классов/объектов.
вещи весьма различающиеся.


 
Pavel_   (2003-03-26 16:04) [10]

2 Digitman ©
я понял это мне важно другое как описать и вызвать все это


 
Pavel_   (2003-03-26 16:09) [11]

если можно пример кода или ссылку на справку


 
SDS ©   (2003-03-26 16:27) [12]


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private

public
procedure Proc;
end;

TProcedure = procedure of object;

var
Form1: TForm1;


procedure doSomething(p:TProcedure);


implementation

{$R *.dfm}
procedure doSomething(p:TProcedure);
begin
P;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
doSomething(Proc);
end;

procedure TForm1.Proc;
begin
ShowMessage("Это я Proc");
end;

end.


 
Pavel_   (2003-03-26 16:36) [13]

2 SDS © спасибо заработало :-)
по крайней мере синтаксических ошибок нет :-)



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

Текущий архив: 2003.04.07;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
4-19928
Roughneck
2003-02-10 11:01
2003.04.07
Menu


3-19448
Sheva
2003-03-18 16:49
2003.04.07
Справочники.


1-19690
SS
2003-03-26 11:28
2003.04.07
Освобождение памяти


1-19523
zloy_dima
2003-03-26 14:49
2003.04.07
Память


3-19505
ant
2003-03-20 02:52
2003.04.07
Подскажите в D5 под Win2000, XP. ошибка EOF BOF