Comment acceder au procédure d'une interface ?

Résolu
cs_mathdu57 Messages postés 6 Date d'inscription lundi 14 janvier 2008 Statut Membre Dernière intervention 4 mars 2010 - 21 oct. 2008 à 17:28
cs_mathdu57 Messages postés 6 Date d'inscription lundi 14 janvier 2008 Statut Membre Dernière intervention 4 mars 2010 - 22 oct. 2008 à 12:16
Bonjour !

J'ai un petit soucis. Comment accéder au procédure d'une interface ?

Je m'explique :

J'ai une classe main ou j'instancie un objet ActiveX.

Cependant, je veux accéder à une procédure de cette objet : Voila le bout de code de l'objet ActiveX en question.

// *********************************************************************//
// Interface : IImage
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID : {AC0D48A6-886D-4EB5-A8A1-093D60B9A84A}
// *********************************************************************//
IImage = interface(IDispatch)
['{AC0D48A6-886D-4EB5-A8A1-093D60B9A84A}']
function Get_Layout: ILayout; safecall;
function Get_PixelWidth: Integer; safecall;
function Get_PixelHeight: Integer; safecall;
function Get_XDPI: Integer; safecall;
function Get_YDPI: Integer; safecall;
function Get_BitsPerPixel: Integer; safecall;
function Get_Thumbnail(ThumbSize: MiTHUMBNAIL_SIZE): IPictureDisp; safecall;
function Get_Picture: IPictureDisp; safecall;
function Get_Compression: MiCOMP_TYPE; safecall;
procedure OCR(LangId: MiLANGUAGES; OCROrientImage: WordBool; OCRStraightenImage: WordBool); safecall;
procedure Rotate(Angle: Integer); safecall;
property Layout: ILayout read Get_Layout;
property PixelWidth: Integer read Get_PixelWidth;
property PixelHeight: Integer read Get_PixelHeight;
property XDPI: Integer read Get_XDPI;
property YDPI: Integer read Get_YDPI;
property BitsPerPixel: Integer read Get_BitsPerPixel;
property Thumbnail[ThumbSize: MiTHUMBNAIL_SIZE]: IPictureDisp read Get_Thumbnail;
property Picture: IPictureDisp read Get_Picture;
property Compression: MiCOMP_TYPE read Get_Compression;
end;



Je veux acceder à la procedure rotate, mais dans la liste des propriétés celle-ci n'est pas accessible.

Merci de vos réponses.

1 réponse

cs_mathdu57 Messages postés 6 Date d'inscription lundi 14 janvier 2008 Statut Membre Dernière intervention 4 mars 2010
22 oct. 2008 à 12:16
Finalement, j'ai trouvé.

Voici la marche à suivre :


procedure TMainForm.Button1Click(Sender: TObject);
var
doc :IDocument;
Img :IImage;
i : integer;
begin
doc := IDispatch(CreateOleObject('MODI.Document')) as IDocument;
doc.Create('Votre image.tif');

//Retourne toute les images
for i:=0 to doc.Images.Count -1 do
begin
Img := IDispatch(doc.Images[i]) as IImage;
Img.Rotate(180);
end;

doc.Save;
doc.Close(false);
Img := nil;
end;

Voila.

Mathieu
3
Rejoignez-nous