หน้าแรก
 การบ้าน
  C/C++ new
  Java new
 Sourcecode.TV
  Android
  Blackberry
  C/C++
  Java
  Linux
  Windows Phone
  แจ้งเรื่องที่ต้องการ
 บทความ
  .NET
  Android
  Blackberry
  C++Builder
  Delphi
  Java
  Mobile
  Open Source
  Pocket PC
  Visual Basic
  Web
  Windows Phone
  Others
 แบบเรียนฟรี
  ASP
  ASP.NET Webmatrix
  C++
  eVB
  J2ME
  Java
  PHP
 ซอร์สโค้ด
  Android
  ASP
  C++
  VC++
  CGI-Perl
  Delphi
  Java
  jQuery
  PHP
  Visual Basic
  .NET
 บริการจากเรา
  เปิดท้าย... ขายโค้ด
  DoodeeHosting
  รับออกแบบ พัฒนาเว็บไซต์
  Freeware
  อัตราค่าโฆษณา
  รายชื่อลูกค้า
  สถิติผู้เข้าเว็บ
 ดาว์นโหลด
 ค้นหาข้อมูล
 กระดานสนทนา
  .NET
  C/C++
  Delphi
  Java
  Palm/PocketPC
  Visual Basic
  Web
  อื่นๆ
 กระดานงาน
 ลิงค์เว็บ
 เกี่ยวกับผม
 อัตราค่าโฆษณา
Social Network

Facebook  Twitter  YouTube
 New Article
 Webboard
 Freelanceboard
Freeware
โปรแกรมเบอร์ดี (BerDee)
โปรแกรมเบอร์ดี (Android)
เกมส์เป่ายิ้งฉุบ
เกมส์เป่ายิ้งฉุบ(Android)
WebcamMonitor
WebcamMonitor(Windows)
scSendMail
scSendMail(Windows)
MSN Caption
MSN Caption(Windows)
  Freelance comment
  ติดต่อสอบถา...
2015-07-29 13:35:58
  ถ้าผมต้องกา...
2015-01-18 15:33:54
  ถ้าผมต้องกา...
2015-01-18 15:32:51
  ติดต่อสอบถา...
2014-01-06 12:47:38
  ถ้ายังหาคนส...
2013-07-06 01:04:37
  สนใจส่งขอบเ...
2013-03-24 18:54:20
  ถ้ายังไม่มี...
2012-12-16 19:18:14
  สนใจคะ ติดต่...
2012-11-12 11:07:46
  รับทำโปรเจ็...
2012-10-29 03:10:46
  sukit_te34@hotmail.com...
2012-10-29 03:09:36
  Webboard comment
  ระบบจองตั...
2017-11-18 15:42:48
  โปรแกรมจอ...
2017-11-18 15:40:29
  ผมลอง gotoxy แ...
2017-08-28 11:45:52
  ลองสร้างต...
2017-08-27 20:09:01
  #define GLUT_DISABLE_ATEXIT...
2017-08-27 12:53:17
  ผมมีคลิปส...
2017-08-27 10:50:02
  รับ สอน matlab ...
2017-06-03 16:27:23
  เฉพาะทางข...
2017-05-25 16:18:08
  โห เครื่อ...
2017-05-25 16:12:47
  ถ้าเขียน ph...
2017-04-20 01:04:20
  Homework comment
  โค้ดตัวอย่...
2017-11-26 14:50:05
  คำนวณค่าน้...
2017-11-20 23:15:26
  ขอบคุณมากค...
2017-08-16 18:27:25
  ทำเอง งง เอ...
2017-04-18 18:40:46
  ทำเอง งง เอ...
2017-04-18 18:37:54
  ประเด็นแรก...
2017-04-18 17:43:33
  อยากได้ flowchar...
2017-04-18 16:25:29
  kungking คำถามคื...
2017-03-18 23:28:36
  จงเขียนโปร...
2017-03-06 10:56:25
  ก็โค้ดทำงา...
2016-09-06 01:00:12
  Article comment
  มีcode ของ VB ไห...
2017-09-28 16:50:02
  น่าจะได้คร...
2017-07-11 09:59:35
  สามารถใช้ต...
2017-07-05 10:12:35
  ครับ คุณ "ติ...
2016-06-18 15:21:09
  vs2008 c# ครับ ขอ...
2016-06-17 14:39:30
  ผมใช้ vs c# ทำ...
2016-06-17 14:37:44
  ต้องวิเครา...
2016-03-12 23:36:05
  ผมส่งข้อคว...
2016-03-12 18:25:42
  โปรแกรม Terminal...
2016-02-16 11:02:01
  โปรแกรม Terminal...
2016-02-16 05:58:21
  9Mcode comment
  อยากได้...
2014-02-21 08:52:19

Link Exchange

อัตราค่าโฆษณา
Statistics of Sourcecode in Thailand
 
การเขียน ActiveForm(ActiveX Control) เบื้องต้น (อ่าน 29,357)
ศุภกิจ ทองดี (9'M) บทความโดย: นาย ศุภกิจ ทองดี (9'M)
e-mail: webmaster@sourcecode.in.th
mobile: 09-5009-5351
Line: suppakit.thongdee
Youtube: 9Mcode
Fanpage: Sourcecode.in.th
   
: ดาว์นโหลดตัวอย่างโปรแกรม (ดาว์นโหลด 4,157 ครั้ง)

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -

 
 
Freelanceรับพัฒนาโปรแกรม และเว็บ โดย 9'M 

สวัสดีครับทุกท่านที่เป็นสมาชิกของเว็บ Sourcecode in Thailand และทุกท่านที่ยังไม่ได้เป็นสมาชิกของเรา ก่อนอื่นผมก็คงต้องออกตัวก่อนนะครับ ว่าผมศึกษาเรื่อง ของ ActiveX โดยวิธีอ่าน และ หา code มาทดลอง Run เอาเองนะครับ ยังไม่เคยได้รับการศึกษา หรือ อบรม จากที่ใดทั้งสิ้น แต่ผมเห็นว่ามันมีประโยชน์ สำหรับผู้ที่กำลังหาวิธีการ เขียนโปรแกรมบนอินเตอร์เน็ต รวมทั้งผู้ที่กำลังมองหาโปรเจ็ก

ในบทความนี้ผมได้จะได้กล่าวถึง ActiveForm ซึ่งเป็น โปรเจ็คนึงใน Delphi ที่เราสามารถสร้างขึ้นได้ สำหรับผู้ที่เคยเล่น Visual Basic ก็จะมี โปรเจ็ค ActiveX Control ที่จะเป็นการสร้าง Control ให้รองรับกับเทคโนโลยี ActiveX ซึ่งสามารถ Run อยู่บน Web Browser ได้ ซึ่ง ActiveForm ของ Delphi ก็เป็นเช่นนั้นเหมือนกันครับ แต่จะมีความยากในการพัฒนามากกว่า แต่ใช่ว่า Delphi จะไม่มีข้อดีเลยนะครับ ข้อดี(ในหลายข้อ)ของ Delphi ที่เข้ามาทดแทนความยาก (เมื่อเทียบกับ Visaul Basic) ที่เราต้องศึกษาก็คือ Delphi จะมี Component มากให้เราอย่างมากมาย ยิ่ง Control ในกลุ่มของ Indy ยิ่งถูกใจผมมาก มันช่วยลดเวลา ในการพัฒนาของผมไปได้แยะเลยครับ

ที่พูดทั้งหมด ไม่ใช่ว่าจะแนะให้คนเล่น Delphi กะ VB ตีกันนะครับ(555) เพราะผมเคยเล่น vb มาก่อน ก็รู้ว่า vb มันมีข้อดีข้อเสีย อย่างไร และพอได้มาจับ Delphi ก็หลงเสน่ห์ จนถอนตัวไม่ขึ้น(เว่อร์ซะ) เพราะฉะนั้น ก็อยากแนะว่า เล่นมันทั้งสองตัวไปเลย เวลาทำงาน ก็พิจารณาเลือกตัวที่เหมาะกับงานของเราแล้วกันครับ :-)

ร่ายยาวมาซะนานเลย คงมีการเบื่อการบ่นกันไปบ้างแล้ว เรามาเริ่มขั้นตอนการสร้าง ActiveForm กันเลยดีกว่าครับ

เปิดโปรแกรม Delphi แล้วเลือก File->New->Other จาก menu หลังจากนั้นให้เลือกสร้าง โปรเจ็ค ActiveForm จาก tab ActiveX ดังรูป

หลังจากนั้น จะปรากฏหน้าต่าง ดังรูปด้านล่าง ให้คุณทำการป้อน scActiveForm ลงในช่อง New ActiveForm และให้คลิกเลือกในช่อง Include About Box เพื่อให้โปรแกรมเพิ่ม ฟอร์ม About ให้กับ ActiveForm นี้ด้วย

ให้ทำการคลิกปุ่ม OK จะมีการแจ้งเตือนขึ้นมา ก็ให้คลิก OK อีกครั้ง ,Delphi จะทำการสร้าง ActiveForm ให้โดยมีฟอร์ม About ที่เราเลือกมาให้ด้วย หลังจากนั้นให้ทำการบันทึกโปรเจ็ก

Type Library

ตอนนี้ก็ต้องขออธิบายกันก่อน ว่า โค้ดที่ Delphi สร้างขึ้นให้นั้นจะมีทั้ง Form ที่ Delphi แปลงให้เป็น Active Form (ActiveX Control) แล้ว และ ฟอร์ม About ซึ่งเป็นฟอร์มธรรมดาที่เราเลือกให้เพิ่มเข้ามา

งานนี้ให้คุณทำการคลิกเลือกที่เมนู View->Type Library จะปรากฎหน้าต่างดังรูป

ให้คุณคลิกขยายโหนด IscActiveForm ออกมา จะเห็นได้มี Method และ Property ของ ActiveForm รวมทั้ง Method ที่ชื่อ Aboutbox ด้วย

ในส่วนของ IscActiveForm นี้จะเป็น Interface(ผมจะไม่ขออธิบายเรื่อง Interface นะครับเพราะมันยาวไป เอาเป็นว่าให้เข้าใจว่า Interface เป็นส่วนที่ติดต่อ ที่ทำให้เราสามารถเรียกใช้ Method และ Property ได้) ซึ่งเราสามารถสร้าง Method และ Property เข้า ไปได้ (อันนี้ผมจะนำมาเขียนในบทความหน้า)

ตอนนี้ก็ให้ดูในส่วนของ Method ที่ชื่อ AboutBox ซึ่งจะมีโค้ดดังนี้

  procedure TscActiveForm.AboutBox;
  begin
    ShowscActiveFormAbout;
	end;

จากโค้ด จะเห็นได้เป็นการเรียกใช้ Method ShowscActiveFormAbout ซึ่งอยู่ใน Unit About1 ซึ่งมีโค้ดดังนี้

   procedure ShowscActiveFormAbout;
   begin
     with TscActiveFormAbout.Create(nil) do
       try
         ShowModal;
       finally
         Free;
       end;
   end;

จะเห็นได้ว่าโค้ดข้างต้นเป็นการสร้างฟอร์ม About แล้วให้ทำการแสดงแบบ Modal (การแสดงฟอร์ม ที่ไม่สามารถใช้งานฟอร์มอื่นได้ นอกจากจะใช้ฟอร์มที่เราสั่งให้แสดงแบบ Modal เท่านั้น) และเมื่อเรา ทำการคลิกปิดฟอร์มดังกล่าว โปรแกรมก็จะทำการ Free (ทำลาย และคืนหน่วยความจำ)ฟอร์ม ที่ได้สร้างขึ้น

ต่อไปก็จะเป็นการ Compile และ วิธีการ Run ActiveForm ที่เราสร้างขึ้น

Web Deploy

ในขั้นตอนนี้จะเป็นการ Compile และ สร้างไฟล์ 2 ตัวด้วยกัน ซึ่งก็คือ ไฟล์โปรเจ็ค ของเรา และ ไฟล์ Htm ที่จะเรียกใช้, ก่อนอื่นเราจำเป็นจะต้อง Set ค่าต่างๆ ของ Web Deploy โดยเลือกจากเมนู Project->Web Deployment Options แล้วให้กำหนดค่าต่างๆดังรูป และให้คลิกเลือก Use CAB file compression ด้วยครับ

การกำหนดข้างต้น เป็นการกำหนดให้ทำการบอกให้โปรแกรมสร้างไฟล์ที่ได้ ไว้ใน Path ที่เราทำการ บันทึกโปรแกรมไว้ แล้วคลิกปุ่ม ok

หลังจากนั้น ให้คุณทำการเลือก Project->Web Deploy จาก เมนู เพื่อสร้างไฟล์ .cab และ .htm เมื่อผ่านขั้นตอนนี้เราจะได้ไฟล์ 2 ไฟล์ คือ scActiveFormProj1.cab และ scActiveFormProj1.htm

Set IE Security

ก่อนการ Run บน IE เราจำเป็นจะต้อง Set Security ให้สามารถเปิด ActiveX Control ที่เราสร้างขึ้นได้ (ในที่นี้ผมใช้ IE เป็น Web Browser) โดยให้คุณเลือก Tools->Internet Options จะปรากฏหน้าต่าง Internet Options ให้เลือก tab Security และเลือก content zone เป็น Local Intranet , คลิกปุ่ม custom Level จะปรากฏหน้าต่าง Security Setting ให้เลือก Enable ที่หัวข้อ Download unsigned AcitveX controls ,คลิก OK และ Yes เพื่อยืนยัน ดังรูป

การ Set ดังกล่าวจะทำให้ IE สามารถ Downlod ActiveForm(ActiveX Control) ที่เราสร้างขึ้น และ ทำงานต่างๆตามที่เราเขียนโปรแกรมไว้ได้

ตอนนี้ ก็ให้คุณใช้ IE เปิดไฟล์ scActiveFormProj1.htm จะได้ผลดังรูป

จะเห็นว่า IE สามารถแสดง ActiveForm ได้ หากคุณทำการวางปุ่ม หรือ control อื่นๆไว้บนฟอร์ม แล้วเขียนการทำงานต่างๆไว้ แล้วทำการ Deploy เราก็จะได้โปรแกรมที่สามารถ run บนอินเตอร์เน็ตได้เลยครับ

AboutBox

เอาหละครับ ต่อไปเราก็จะมาเรียกใช้ Method AboutBox โดยให้คุณทำการ copy ไฟล์ scActiveFormProj1.htm แล้วเปลี่ยนชื่อไฟล์ตัวที่ได้ เป็น scTest.htm หลังจากนั้นให้ใช้ Text Editor ต่างๆ เปิด ไฟล์ scTest.htm แล้วแก้ไข และเพิ่ม โค้ดลงไป เสร็จแล้วทำการบันทึก

   <HTML>
<H1> Delphi 6 ActiveX Test Page </H1><p>
You should see your Delphi 6 forms or controls embedded in the form below.
<HR><center><P>
<OBJECT
NAME="scObject"
classid="clsid:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
codebase="./scActiveFormProj1.cab#version=1,0,0,0"
width=365
height=223
align=center
hspace=0
vspace=0
>
</OBJECT> <Script VBSCRIPT> scObject.AboutBox(); </Script>
</HTML>

แล้ว ใช้ IE เปิดไฟล์ scText.htm จะได้ผลดังรูป

ทิ้งท้าย

วิธีการใช้งาน ActiveForm จริงๆบน อินเตอร์เน็ตจำเป็นจะต้องศึกษาถึงเรื่องของการ Signing ActiveX Control ซึ่งจะเป็นการยืนยันว่า ActiveX Control นั้นมีความน่าเชื่อถือ ก่อนที่ผู้ใช้จะทำการ Download มา Run บนเครื่อง

การ Run ActiveX Control ค่อนข้างจะเป็นเรื่องทีต้องพิจารณาเรื่องความน่าเชื่อถือมาก เพราะว่า ผู้พัฒนาสามารถที่จะเขียน ActiveX Control ให้ทำงานที่เป็นอันตรายต่อเครื่องที่ลงได้เช่น Format เครื่อง ,แอบดูข้อความ เมล์ หรือ รหัสผ่านอื่นๆ อันนี้ผมไม่ได้แนะนำให้ทำในสิ่งที่ไม่ดีนะครับ แต่ ถ้ามองในอีกแง่ มันก็มีประโยชน์ ในการสร้างสรรค์สิ่งดีๆ ได้เช่นกัน แล้วพบกันกับบทความหน้ากับ 9'M

: ดาว์นโหลดตัวอย่างโปรแกรม (ดาว์นโหลด 4,157 ครั้ง)
 

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -

สอบถาม
  • ห้ามการโฆษณา หากต้องการติดต่อหาลูกค้า ติดต่อโฆษณาโดยตรงได้ที่ webmaster@sourcecode.in.th
  • ห้ามใช้คำหยาบและคำพูดที่ไม่เหมาะสม
  • ขอสงวนสิทธิหากตรวจพบ ข้อความที่ไม่เหมาะสม ข้อความนั้นจะถูกลบทันที
ชื่อ
อีเมล์
รายละเอียด

 
 
สายต่อจอ สำหรับเครื่อง macbook pro 2016 (usb-c to HDMI)
สายต่อจอ สำหรับเครื่อง macbook pro 2016 (usb-c to HDMI) ความละเอียดระดับ 4K
หัวแปลง Mini DisplayPort to HDMI Adapter หัวแปลง Mini DisplayPort to HDMI Adapter สำหรับเครื่อง macbook air/pro, mac mini
หัวแปลง Mini DisplayPort to HDMI Adapter สำหรับเครื่อง macbook air/pro, mac mini
สายต่อหูฟัง และชาร์จไฟ สำหรับ iPhone 7 และ 7 Plus
สายต่อหูฟัง และชาร์จไฟ สำหรับ iPhone 7 และ 7 Plus
หัวแปลงจาก USB-C Type ไปเป็น USB 3.1 สำหรับ MacBook
หัวแปลงจาก USB-C Type ไปเป็น USB 3.1 สำหรับ MacBook
ไขควงสำหรับเครื่อง Macbook Air/Pro
ไขควง สำหรับแกะเครื่อง Macbook Air/Pro (300บาท)
HDMI เข้า 3 ออก  1 มีรีโมท
HDMI เข้า 3 ออก 1 มีรีโมท (350บาท)
คลิปสอนเขียนโปรแกรม
เรียนเขียนโปรแกรมดอทเน็ต
เรียนเขียนโปรแกรมแอนดรอยด์
เรียนเขียนโปรแกรมเบล็คเบอร์รี่
เรียนเขียนโปรแกรมซี ซีพลัสพลัส
เรียนเขียนโปรแกรมจาวา
เรียนการใช้งานลินุกส์
เรียนการเขียนโปรแกรมวินโดว์โฟน
เรียนการเขียนโปรแกรมพีเฮชพี มายเอสคิวเอล
9M Blog บอกเล่าเรื่องราว การเขียนโปรแกรมของ นายเอ็ม
บริการ ถ่ายภาพรับปริญญา
OrmSin.com: ขายหนังสืองานฝีมือไทย-ญี่ปุ่น-จีน (country crafts)
อัตราค่าโฆษณา
 
บทความที่เกี่ยวข้อง

Zoom หน้าจอด้วย Delphi

What?s new in Delphi 2005 #1 ( for ?in loop statement)

Dynamic Cast ใน Delphi

เขียนโปรแกรมให้ Run ตอน Startup Windows

สร้าง LED Control

โปรแกรม Post ข้อมูล ไปยังไฟล์ ASP

แสดงหมายเลข IP Address ของเครื่องบน NetWork

การแสดงรายชื่อ Email Contact ของ Microsoft Outlook

การหาตำแหน่งของ Caret ใน Memo

การเขียน Service Application เพื่อใช้งานบน Windows NT/2000/XP
Tutorial
eVB Tutorial
ASP.NET Webmatrix Tutorial
J2ME Tutorial
C++  Tutorial
Java  Tutorial
PHP Tutorial
ASP Tutorial
 
แบบสำรวจ
Freelance รับพัฒนาโปรแกรม

Home - Article - Tutorial - Sourcecode - Dev Handbook - Search - WebBoard - Links - About Us

สงวนลิขสิทธิ์ ห้ามคัดลอก ทำซ้ำ แก้ไข ดัดแปลง ไม่ว่าในรูปแบบใด โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษร
เลขทะเบียนพาณิชย์อิเล็กทรอนิกส์จากกระทรวงพาณิชย์: 7100503002000
Copyright 2001 SourceCode.in.th