Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   error: cadena clase no valida (https://www.clubdelphi.com/foros/showthread.php?t=83070)

ritamarkarla 08-05-2013 20:21:34

error: cadena clase no valida
 
hola: estoy tratando de leer un fichero pdf para poder analizarlo, esta es una parte del codigo que estoy utilizando
Código Delphi [-]
      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, 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


La franja horaria es GMT +2. Ahora son las 21:02:19.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi