
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
|