On Fri, 2 Nov 2018 08:50:35 +0100, Luigi <
Lu...@ls.it> wrote:
>Il 01/11/2018 20.20, jugin ha scritto:
>> in seguito appare una segnalazione che riguarda i dati dell'XML
>> dice:
>> Pattern constraint failed
>> the element 'PECdestinatario' has an invalid value...
>>
>> Probabilmente nel file XML non c'è il codice destinatatario nè la Pec.
>
>
>Qui devi verificare il contenuto del file xml che hai creato.
Si era quello, l'errore segnalato c'era.
dopo aver inserita la pec sul cliente l'errore è scomparso.
>
>
>> Però è assai lento.
>>
>
>Si, credo dipenda dalla CreateOleObject.
ho inserito un timing e vedo che la XSDL.add si mangia 30 secondi.
questa sotto è la mia versione quasi definitiva:
------------------------------------------------------------
procedure TFwps.BitBtn3Click(Sender: TObject);
var
ninpfile:string;
XML, XSDL: Variant;
dir:string;
file1,file2:string;
begin
if pagecontrol3.activepage.Caption='Spedite' then begin
ninpfile:=FileListBox5.FileName;
end;
if pagecontrol3.activepage.Caption='Da_Spedire' then begin
ninpfile:=FileListBox4.FileName;
end;
if pagecontrol3.activepage.Caption='Da_Firmare' then begin
ninpfile:=FileListBox3.FileName;
end;
memo2.Lines.add(ninpfile);
if FileExists(ninpfile) then begin
dir:=extractfiledir(ninpfile);
XSDL := CreateOLEObject('MSXML2.XMLSchemaCache.4.0');
memo2.Lines.add(timetostr(time));
XSDL.validateOnLoad := True;
memo2.Lines.add(timetostr(time));
memo2.Lines.add('prego attendere circa 30 secondi');
memo2.Lines.add('Schema Loaded: '+timetostr(time));
XML := CreateOLEObject('MSXML2.DOMDocument.4.0');
memo2.Lines.add(timetostr(time));
XML.validateOnParse := True;
memo2.Lines.add(timetostr(time));
XML.resolveExternals := True;
XML.schemas := XSDL;
memo2.Lines.add(timetostr(time));
XML.load(ninpfile); //XML nome file
memo2.Lines.add(timetostr(time));
if trim(XML.parseError.reason)='' then begin
memo2.lines.add('OK, nessun errore rilevato');
memo2.lines.add('');
end else begin
memo2.lines.add(XML.parseError.reason);
memo2.lines.add('');
end;
end;
end;
---------------------------------------------------------
Grazie ancora,
Ciao :-)