HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

ISAPI alkalmazásból dialógus ablak megjelenítése


Példaprogram letöltése

6604 bájt

ISAPI DLL fejlesztése során sok esetben jó lenne tudni a programunk aktuális állapotáról. Mivel a DLL fejlesztése amúgy is körülményesebb a hagyományos programoktól, így egy-egy érték kijelzéséhez sokszor bonyolult megoldást találunk csak.
A legegyszerűbb megoldás az lenne, ha egy dialógus ablakot megjeleníthetnénk, melyben ki tudjuk írni a programfejlesztés során szükséges információkat. A probléma az csak, hogy ISAPI DLL-ből megjeleníteni egy dialóg ablakot nem lehet hagyományos módszerrel, mint például a ShowMessage hívásával egy hagyományos programnál.
Mellékelt példában bemutatjuk, hogy miként jeleníthetünk meg dialóg ablakot egy ISAPI DLL-ből hasonlóan a ShowMessage-hez.

A mellékelt példa kipróbálásához a következő lépések szükségesek:
  • fordítsa le a mellékelt projektet
  • másolja át a létrejött DLL-t a webszervere azon könyvtárába, ahonnan az futtatható (pl.: Scripts)
  • indítson el egy böngészőt, majd írja be a DLL címét (pl.: http://www.animare.hu/scripts/Project1.dll)


Amikor fut a DLL, akkor megjelenik a szerver oldalon egy dialógus ablak. Attól függően, hogy Ok vagy a Mégsem gombbal zárjuk be az ablakot a DLL más és más HTML-t küld vissza a kliensnek.

Fontos tudni, hogy a megjelenő dialóg ablak mindig a szerver oldalán jelenik meg, attól függetlenül, hogy esetleg a kliens oldali kéréskor jelenítjük meg vagy sem. Így ez a módszer csak a program fejlesztése folyamán használható, éles alkalmazásban már nincs sok értelme.

A megvalósítás igen egyszerű. A dialóg megjelenítéséhez a MessageBox függvényt használjuk. Itt csupán két konstanst kell megadnunk ahhoz, hogy ISAPI DLL-ből megjeleníthető legyen. Az egyik a MB_TOPMOST, hogy minden más alkalmazás fölé kerüljön, a másik a MB_SERVICE_NOTIFICATION, mely lehetővé teszi, hogy szerviz alkalmazásból jelenítsünk meg ablakokat.
procedure TWebModule1.
  WebModule1WebActionItem1Action(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; 
  var Handled: Boolean);
begin
  if MessageBox(0, 'Üzenet az ISAPI Dll-ből', 'Fejléc', 
       MB_OKCANCEL+MB_TOPMOST+MB_SERVICE_NOTIFICATION)
       =IDOK then begin
    Response.Content:='ok';
  end else begin
    Response.Content:='mégsem';
  end;
end;


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2001 évkönyv 194. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |