Delphi write component package ASP code Basic steps (ASP components series)

xiaoxiao2021-03-06  84

If you want to leave the level of ASP enthusiasts, then you should learn to write components for ASP. I searched on Google, and Delphi wrote a total of a total of a total of a total of a total of a total of a total, so I wrote this Delphi's basic article of the ASP component, I hope to help the novice. If you want to learn VB to write ASP components, it is recommended to look at the articles of the tornado big brother (http://blog.9cbs.net/online/category/9939.aspx), not I can ratio. Ha ha:)

Start, let's write an example of "Hello World!" Together. I use Delphi 7 here.

1. File -> New -> Others-> ActiveX-> ActiveX Library, then save to showdll.dpr

2. Re-, File -> New -> Others-> ActiveX-> ActiveX Server Object, fill in CoclassName: Showhello, other unchanged, click OK.

3. Now start writing a program, first add a method. Select ISHOWHELLO-> Right-click -> New-> Method, fill in the method name: SayWorld.

4. Start writing, save Unit1 into show.PAS, then add the method SayWorld code

SHOW.PAS all code is as follows:

UNIT SHOW;

{WARN SYMBOL_PLATFORM OFF}

Interface

Uses

Comobj, ActiveX, AspTLB, Showdll_TLB, STDVCL;

Type

Tshowhello = Class (TaspObject, Ishowhello)

protected

PROCEDURE OneendPage; SaFECALL;

Procedure OnStartPage (Const AscriptingContext: IUNKNOWN); SaFECALL;

Procedure sayworld; saFECALL; // SayWorld method

END;

IMPLEMentation

Uses Comserv;

Procedure tshowhello.onendpage;

Begin

Inherited oneundpage;

END;

Procedure Tshowhello.onStartPage (Const AscriptingContext: iUnknown);

Begin

Inherited OnStartPage (AscriptingContext);

END;

Procedure tshowhello.sayworld (); // Define SayWorld method

Begin

Response.write ('Hello World'); // The syntax in // is the same as the ASP, and it is packaged here.

END;

INITIALIZATION

TautoobjectFactory.create (Comserver, Tshowhello, Class_Showhello,

CIMULTIINSTANCE, TMAPARTMENT);

End.

4. Click to run, compile into a DLL, and register it automatically. At this time, you will prompt:

Let you run on the web server, I'm writing an ASP file call, pay attention to Delphi has generated an ASP file, and we can change the way to call.

The modified Showhello.asp code is as follows:

Testing Delphi ASP </ Title></p> <p><Center></p> <p><H3> you shouth see the results of your delphi active server method method Below </ h3> </ center></p> <p><Hr></p> <p><% Set delphiaspobj = server.createObject ("showdll.showhello")</p> <p>Delphiaspobj.sayworld</p> <p>%></p> <p><Hr></p> <p></ Body></p> <p></ Html></p> <p>Run the effect under the IIS site:</p> <p>5. other:</p> <p>Components written in Delphi, can see the interface of the assembly after registering with Win2000 component service</p> <p>6. There are also ASP pages and components to deliver parameters, in fact, to pass parameters to the modified method (function), pay attention to the data type of VBS when defined in Delphi. These are still more practical. Here is mainly what you want to learn to encapsulate the ASP core code, and you will have a role in tile jade.</p> <p>Write these, there are not many words, is the screenshots. Limited horizontal, wrong place, everyone taking bricks, taking a light! ! ! !</p> <p>A wind and one cloud</p> <p>2004-10-18</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-104367.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="104367" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.041</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'HAEgxkJ_2BfsszMh1mCvNI65uKlvHnMgRSZqNT6QtShjd55WC9ZsYj_2FSCvVAiiZCHZQV00lKo6_2Fikhfc0HMIIqLg_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>