Invoquer Galeon depuis Kylix

L'objectif: lancer un browser similaire à Mozilla depuis un programme Kylix.

Le problème: par défaut, lorsqu'un programme Kylix 3 lance Galeon, ce programme n'a pas de difficulté si Gnome est correctement installé. Mais lorsque le programme est lancé depuis l'IDE Kylix, Galeon ne se charge pas.

La raison: lors de l'exécution depuis l'IDE, Kylix définit certaines variables d'environnement, et en particulier pointe MOZILLA_FIVE_HOME vers le répertoire personnel borpreview. Cette définition sert à l'IDE à offrir la prévisualisation des fichiers HTML par l'encapsulation de Mozilla. Mais elle entre en conflit avec le script /usr/bin/galeon qui cherche à identifier l'emplacement de la librairie partagée Mozilla.

La solution:: supprimer MOZILLA_FIVE_HOME, en ajoutant putenv ('MOZILLA_FIVE_HOME') ; avant l'invocation de Galeon.

implementation

  {$R *.xfm}

  uses LibC ;

  var pid : Integer ;

procedure TForm1.Button1Click (Sender : TObject) ;

  const
    csURL = ' title="Riff News">http://www.riff.org/' ;

  var res : Integer ;

  begin
  pid := fork ;
  putenv ('MOZILLA_FIVE_HOME') ;
  if pid = 0 then 
    begin
    res := execlp ('galeon', 'galeon', 
      '--sm-disable', '--disable-crash-dialog',
      '--geometry=' 
              + IntToStr (Memo1.Width) 
        + 'x' + IntToStr (Memo1.Height)
        + '+' + IntToStr (Form1.Left + Memo1.Left) 
        + '+' + IntToStr (Form1.Top + Memo1.Top),
      '-x', csURL, nil) ;
    end
  else
    if pid < 0 then
      begin
      Memo1.Lines.Add ('Erreur de fork, errno = ' 
        + IntToStr (errno)) ;
      Application.Terminate
      end
    else
      // Suite de l'application principale.
      // Le signal SIGCHLD permet d'être informé de la fermeture du browser
  end  ;

Get started with Drupal 7

Marques les plus citées

toutes les marques

acheter sur OSInet

Accès direct

Recherche

Le mot du jour

C++ Builder

in | |

RAD Borland pour C++. Les premières version (jusqu'à la 6.0) utilisent la bibliothèque de composants visuels VCL. La version C++ BuilderX est multiplateformes et non-RAD dans sa première versio… 

Syndiquer le contenu

Dernières définitions

Chrome - Chromium - digitaalisen kuilun - ghetto sharding - HTTP - MongoDB - PNaCl - QUIC - Skia - SPDY

Un mot au hasard

Darwin  

Alertes CERTA