8 messages in org.openoffice.fr.progRe: [prog] [Erreur] dans Delphi_OOo_v...
FromSent OnAttachments
Agrillo MarioMay 26, 2006 12:10 pm 
Bernard MarcellyMay 27, 2006 2:09 am 
Agrillo MarioMay 27, 2006 12:53 pm 
pacMay 27, 2006 2:23 pm 
Bernard MarcellyMay 28, 2006 12:27 am 
Agrillo MarioMay 28, 2006 11:48 am 
Bernard MarcellyMay 29, 2006 5:50 am 
Agrillo MarioMay 29, 2006 11:50 am.jpg, .jpg, .jpg
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [prog] [Erreur] dans Delphi_OOo_v10frActions...
From:Agrillo Mario (mari@hotmail.com)
Date:May 28, 2006 11:48:56 am
List:org.openoffice.fr.prog

Bonjour

merci pac je connaissais le site mais je n' ai jamais approfondi je vais commencer :-)

bonjour Bernard quand j'exécute EssaiOpen il s'exécute bien et ouvre le fichier dans OpenOffice 2,0,2 et APRES l'ouverture, une fenêtre du debogueur Delphi s'affiche et voilà le texte

Le projet EssaiOpen.exe a provoqué une classe d'exception EVariantError avec le message "Indice de tableau de variants hors limites". Processus stoppé. utilisez Pas-à-pas ou Exécuter pour continuer. ( en bas à gauche de la fenêtre une case à cocher "Voir la fenêtre CPU" ) alors je clique sur Aide . . . et voila ce que j'ai retenu

----------------------------------------------------- Si l'emplacement de l'exception ne correspond pas à un emplacement dans le source, une case à cocher, dont le libellé est "Voir la CPU", apparaît dans le coin inférieur gauche de la boîte de dialogue.

----------------------------------------------------- et l'erreur se produit à cet emplacement de la procédure TxrayForm1.extractProperties de l'unité "OOoXray" (fin de procédure 61 ième ligne entourée d'astériques )

--------------------------------------------------------- procedure TxrayForm1.extractProperties;

function addAfter(existingText, moreText: String): String; begin // ajoute un texte après un texte existant, en le séparant if existingText = '' then Result:= moreText else Result:= existingText + ' - ' + moreText; end;

function isPseudoProperty(gridLine: TStrings; insp: Variant): Boolean; var info2, info3, valProp: Variant; propReadable: Boolean; begin Result:= False; with gridLine do if insp.hasMethod('get' +Strings[0], -1) then begin Result:= True; Strings[3]:= mess60; // pseudo-prop if not insp.hasMethod('set' +Strings[0], -1) then Strings[3]:= addAfter(Strings[3], mess51); // read only info2:= insp.getMethod('get' +Strings[0] ,-1); info3:= info2.ReturnType; Strings[1]:= getShortTypeStr(info3, propReadable); if propReadable then try // certaines méthodes ne sont pas accessibles par le pont COM valProp:= info2.invoke(thisObject, dummyArray); convertToGridValue(valProp, gridLine, False); // ne pas modifier la case type except // invoke a probablement déclenché une exception 'Le type ne correspond pas' Strings[2]:= mess61; end; end else if insp.hasMethod('set' +Strings[0], -1) then begin // write only Strings[1]:= ''; Strings[2]:= ''; Strings[3]:= mess60 +' - ' +mess52; Result:= True; end; end;

var insp, info1, info2, propSetInfo, valProp: Variant; x, xMax: Integer; exists_getPropertyValue: Boolean; begin { ------- TxrayForm1.extractProperties ------} insp:= OOoIntrospection.inspect(thisObject); exists_getPropertyValue:= insp.hasMethod('getPropertyValue', -1); if exists_getPropertyValue then propSetInfo:= thisObject.PropertySetInfo; info1:= insp.getProperties(-1); xMax:= VarArrayHighBound(info1, 1); if xMax >= 0 then propGrid.RowCount:= xMax +2; for x:= 0 to xMax do begin // balayer la liste des propriétés info2:= info1[x]; with propGrid.Rows[x +1] do begin Strings[0]:= info2.Name; Strings[3]:= ''; if isPseudoProperty(propGrid.Rows[x +1], insp) then Continue; if (info2.Attributes and _beansPropertyAttributeMAYBEVOID) <> 0 then Strings[3]:= mess50; if (info2.Attributes and _beansPropertyAttributeREADONLY) <> 0 then Strings[3]:= addAfter(Strings[3], mess51); if exists_getPropertyValue then if propSetInfo.hasPropertyByName(Strings[0]) then try // certaines propriétés ne sont pas accessibles par le pont COM *********************************************** * valProp:= thisObject.getPropertyValue(Strings[0]); ********** EXACTEMENT A CETTE LIGNE ************ *********************************************** convertToGridValue(valProp, propGrid.Rows[x +1], True); except // getPropertyValue a probablement déclenché une exception 'Le type ne correspond pas' Strings[1]:= mess61; Strings[2]:= mess61; end; end; end; end;

Donc d'après ce que je comprends ce ne serait pas dans " Delphi_OOo_v10fr " mais dans l'execution de OO que l'erreur se produit. qu'en penses tu Bernard merci Mario