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

Вниз

Delphi 8 и позднее связывание   Найти похожие ветки 

 
Serginio666   (2004-03-01 14:27) [0]

Интересно возможно ли такое в Delphi 8 с вариантами и вызовом методов. Если взглянуть на Borland.Vcl.Variants.pas то там есть набор методов например
class function VariantHelper.FindTypeInvoke(const AType: System.Type;
const AValue: Variant; const ANames: array of string;
const AParams: array of Variant; out AResult: Variant): Boolean;
var
LMethod: MethodInfo;
I, LParamCount: Integer;
LObjArray: array of TObject;
LTypeArray: array of System.Type;
begin
// assume the worst
Result := False;

// create a param type array
LParamCount := Length(AParams);
SetLength(LObjArray, LParamCount);
SetLength(LTypeArray, LParamCount);
for I := 0 to LParamCount - 1 do
begin
LObjArray[I] := AParams[I];
LTypeArray[I] := SafeGetType(LObjArray[I]);
end;

// try to find the method
LMethod := nil;
for I := Low(ANames) to High(ANames) do
begin

// find the ARight method for the job at hand
LMethod := AType.GetMethod(ANames[I], LTypeArray);
if LMethod <> nil then
Break;
end;

// then try to invoke it
if LMethod <> nil then
try
AResult := Variant(LMethod.Invoke(AValue, LObjArray));
Result := True;
except
on E: Exception do
if LParamCount > 0 then
if AValue <> nil then
UnhandledInvokeException(E, LMethod.Name, AValue, AParams[0])
else
UnhandledInvokeException(E, LMethod.Name, AParams[0])
else
raise;
else
Result := False;
end;
end;


 
BlackTiger ©   (2004-03-01 14:43) [1]

Не советовал бы заморачиваться с Variant. Такого типа в дотНети не существует, есть только Object, но это немного другое. Интересно через какую ... бормановцы решили провернуть поддержку variant-ов?


 
Serginio666   (2004-03-01 15:03) [2]

Ну почему же в VB.Net такое существует. Почему бы и в Delphi такое не замутить. Хотя ....


 
Darthman ©   (2004-03-01 15:28) [3]

Пардон что сюда же пишу. Но вопрос есть: можно ли в д8 делать приложения для compact framework (pocketpc)?


 
Serginio666   (2004-03-01 18:03) [4]

В Delphi 8 помоему нет что либо для работы с pocketpc. Но для Net есть классы и точно можно разрабатывать под Win CE. Просто они несколько урезанные, а MSIL тот же. Посмотрю



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

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

Наверх




Память: 0.47 MB
Время: 0.028 c
14-43832
Gero
2004-02-21 23:05
2004.03.14
Виснут DOS-программы


1-43563
Maverick
2004-02-27 16:11
2004.03.14
FastReport


11-43421
Puke Zero
2003-06-26 00:19
2004.03.14
EditBox.Options


1-43643
snake1977
2004-03-02 08:43
2004.03.14
Паралельная работа с файлами


1-43502
sucer
2004-02-29 06:37
2004.03.14
Помогите с Pchar