Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.019 c
1-43664
TGrey
2004-03-01 21:07
2004.03.14
при запуске приложения не отображать главную форму


1-43490
DmitryNekl
2004-01-23 13:32
2004.03.14
Создание разных форм в одной процедуре


3-43286
BUJHM
2004-02-12 15:36
2004.03.14
Перенос изменений в БД


3-43318
DimaF
2004-02-15 22:24
2004.03.14
TIBTable


7-43927
Mihin
2003-12-25 08:29
2004.03.14
Печать в текстовом режиме




   Наверх