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

Xeon

in | |

Marque utilisée par Intel pour ses processeurs optimisés pour les serveurs, depuis le Pentium II. En comparaison avec les processeurs pour machines de bureau, les Xeon disposent typiquement de ca… 

Syndiquer le contenu

Dernières définitions

Chrome - Chromium - digitaalinen kuilu - ghetto sharding - HTTP - MongoDB - PNaCl - QUIC - Skia - SPDY

Un mot au hasard

FEC : Forward Error Correction  

Alertes CERTA