PDA

Ver la Versión Completa : error: cadena clase no valida


ritamarkarla
08-05-2013, 20:21:34
hola: estoy tratando de leer un fichero pdf para poder analizarlo, esta es una parte del codigo que estoy utilizando
gesamtstring := '';
stichwortcounter := 0;
Size := 0;
try
//Object erstellen
acrobat := CreateOleObject('AcroExch.pdDoc');
//PDF Datei in Object öffnen
Result := acrobat.Open(cxListBox1.Items[k]);
if Result = False then
begin
messagedlg('Error en fichero', mtWarning, [mbOK], 0);
Exit;
end;

for j := 0 to acrobat.GetNumPages - 1 do
begin
//Erste Seite des Dokuments aktiv setzen (first page)
PDPage := acrobat.acquirePage(j);
//Ein Highlight Object mit 2000 Elementen erzeugen
PDHili := CreateOleObject('AcroExch.HiliteList');
Result := PDHili.Add(0, 4096);
//Erzeuge eine Markierung über den ganzen Text
PDTextS := PDPage.CreatePageHilite(PDHili);
// doc := PDPage.GetDoc;
ntl := PDTextS.GetNumText;
for i := 0 to ntl - 1 do
begin
zeilen := PDTextS.GetText(i);
doc := zeilen;
// if (Length(zeilen) > 0) and (zeilen <> '') then
// memo1.Lines.Add(removecrlf(zeilen));
gesamtstring := gesamtstring + doc;
// gesamtstring := gesamtstring + removecrlf(zeilen);
//nur für statistik
Size := Size + SizeOf(zeilen);
Inc(stichwortcounter);
Application.ProcessMessages;
end;
Memo2.Lines.Add(gesamtstring);
//Wieder freigeben
pdhili := Unassigned;
pdtextS := Unassigned;
pdpage := Unassigned;
end; //for i to pagecount
except
on e: Exception do
begin
messagedlg('Error: ' + e.Message, mtError, [mbOK], 0);
Exit;
end;
end;
if Size > 1024 then
begin
zwreal := Size / 1024;
str(zwreal: 2: 1,zeilen);
end;


en la maquina donde lo corro en delphi funciona perfecto, el problema es a la hora de correrlo en otra maquina, me da un error: cadena de clase no valida, he probado hacerle un instalador con el installshield, pero no se tengo que incluir, el install shield detecta las dependencias, pero ni corriendo el instalador funciona.

espero haberme hecho entender, por favor si alguien me puede dar una mano.

ecfisa
08-05-2013, 21:45:34
Hola ritamarkarla.

Como primera medida, revisa si en el otro equipo está instalado Adobe Acrobat y de ser así, si tenes los permisos necesarios para ejecutarlo.

Saludos. :)

ritamarkarla
09-05-2013, 15:26:47
hola, si tengo acrobat instalado, y tengo todos los permisos, incluso en la maquina que me funciona es en mi labtop, y donde no funciona es en mi propia maquina de escritorio, donde incluso tambien tengo el delphi instalado.

saludos

ecfisa
09-05-2013, 23:02:49
Hola ritamarkarla.

Entonces es probable que no tengas instaladas las versiones Standard o Pro que incluyen a PDF Write (http://www.adobe.com/products/acrobat/create-pdf-creator.html), necesario para usar AcroExch.App.

De tener alguno de estas versiones instaladas, también podría faltarte importar e instalar dicho control ActiveX en Delphi.

Saludos. :)

ritamarkarla
10-05-2013, 15:21:34
hola muchas graciass, era eso lo que pasaba, instale en la maquina una version pro y funcionó de maravilla.

saludos