Accueil  Contact
 

 

 

Le but de ce didactitiel est de vous faire découvrir pas à pas, la construction d'une DLL ISAPI avec Delphi 5/6/7. Il ne sera pas question ici, de faire le tour des technologies et possibilités offertes par la dernière version de l'outil de programmation, mais simplement de vous donner la marche à suivre pour créer une DLL ISAPI..

 Déclenchement de l'événement OnTagHtml

Cet événement se déclenche lorsque, dans une action, vous faîtes une affectation du sytle : Response.Content := DataSetPageProducer1.Content;
L'event est déclenché au moment même où on lit le contenu de sa propriété "content"

Voici un exemple de code possible dans l'événement.

procedure TWebModule1.DataSetPageProducer1HTMLTag(Sender: TObject;
  Tag: TTag; const TagString: String; TagParams: TStrings;
  var ReplaceText: String);

Var sContent  : String;
begin
  // Recherche du tag <#LISTPRODUCT>
  if CompareText(TagString, 'LISTPRODUCT') = 0 then
  begin
    sContent := '';
    IBQuery1.Active := True;
    Try
      IBQuery1.First;
      While Not IBQuery1.Eof Do
      begin
        // Construction d'une liste avec insertion d'un hyperlien
        // qui renvoi vers le détail de l'élément
        sContent :=  sContent
          + Format('<AHREF="/scripts/MADLLISAPI/MonAction?ProductNo='+
                   '%d">%s</A><BR>',
          [IBQuery1ProductNo.AsInteger, IbQuery1Name.AsString]);
        IbQuery1.Next;
      end;
    Finally
     Query1.Active := False;
    end;
  end;
  ReplaceText := sContent;
end;

Notez la relation entre le producteur de page (dataSetPageProducer1) et la requête( ibQuery1)

L'intérêt de la propriété Dataset est de permettre une automatisation de l'opération qui se fait alors automatiquement en ajoutant des tags avec nom de champ de type <#fieldname> dans le modèle html...

Notez que dans cet exemple de code, nous n'avons pas établi la connexion à la base de données. Celle-ci peut être faite dans l'événement OnCreate du WebModule. Dans ce cas, la fermeture de la connexion devra elle être faite dans l'événement OnDestroy. Toutefois, cette méthode peut poser problème. Voir le paragraphe portée des objets et variables.

Tutoriels   Suite


Delphicenter est un service proposé par Cotelem™. 1997-2008