Contents
ActiveX adalah komponen dalam framework Windows yang merupakan pengembangan dari COM (Component Object Model) dan OLE (Object Linking and Embedding). Karena sifatnya general dan running on Windows OS, ActiveX ini bisa digunakan oleh semua SDK (Software Development Kit) yang berjalan di Windows dan mendukung OOP (Object Orientation Program) seperti Visual Basic, Delphi, C, dll.
Salah satu ActiveX yang disediakan Windows adalah komponen MsComm. Komponen ini sejatinya adalah komponen untuk Visual Basic yakni SDK yang merupakan ‘anak kandung’ Microsoft sebagai pencipta Windows. Fungsi dasar dari komponen adalah untuk menangani komunikasi serial melalui port serial (COM port) dengan perangkat lain. Namun karena didesain sebagai ActiveX, maka komponen ini juga dapat digunakan di Delphi. Mengapa menggunakan Delphi, tidak dengan bahasa native-nya (Basic) di Visual Basic? Mungkin karena Anda lebih familiar dengan Delphi atau mungkin karena Anda harus menggabungkan dengan komponen lain yang ada di Delphi atau mungkin karena alasan yang lain.
Instalasi Komponen MsComm di Delphi
Untuk menggunakan komponen MsComm di Delphi, Anda harus menginstalnya terlebih dahulu. Caranya cukup mudah. Jika Anda menggunakan Delphi 7, Anda dapat melakukannya dengan membuka menu ‘Component-Import ActiveX Control’. Kemudian carilah ‘Microsoft Comm Control 6’ di kotak ‘Impor Active X’. Setelah Anda menekan tombol ‘Instal’, beberapa detik kemudian akan muncul komponen baru di tab ‘ActiveX’ di Component Pallete Delphi Anda, yakni komponen ‘MsComm’.
Jika ada problem, Anda dapat memasukkan kode berikut ke Regedit (dari start program ketik ‘regedit’ di kotak search) – HKEY_CLASSES_ROOT/Licenses/4250E830-6AC2-11cf-8ADB-00AA00C00905. Kodenya adalah ‘kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun’ (tanpa tanda petik)
[AdSense-A]
Cara Menggunakan ActiveX MsComm di Delphi
Jika sudah selesai menginstal MsComm, kini saatnya kita coba komponen tersebut. Caranya relatif mudah, intinya sih hampir sama dengan komponen Comport, yakni komponen native Delphi untuk menangani komunikasi serial. Untuk dapat menggunakan port serial (COM port) tentunya Anda harus memiliki port serial di laptop/komputer Anda. Secara fisik tipe port ini sudah tidak ada lagi di jaman sekarang. Sebagai gantinya Anda dapat menggunakan port USB yang diemulasi sebagai port serial. Anda dapat membeli konverter USB to serial atau dapat menggunakan Arduino sebagai bahan percobaan bertukar data secara serial. Jangan lupa untuk menginstal driver USB to serial-nya
Okay, katakanlah port serial Anda sudah ready (Anda dapat mengeceknya di Control Panel-Device Manager-Com & LPT). Langkah berikutnya adalah ‘membuka’ atau reserve port serial sehingga dapat Anda gunakan untuk komunikasi. Jika Anda menggunakan komponen MsComm, caranya adalah sebagai berikut:
with MSComm1 do  begin  CommPort:=8; // set no port COM yang ada di Device Manager  InputLen:= 1;  InBufferCount:= 0;  OutBufferCount:= 0;  InBufferSize:= 50 ;  //buffer tempata penerimaan data serial  OutBufferSize:= 2; // buffer pengiriman data serial  RThreshold:= 1;  InputMode:= ComInputModeText; if (not PortOpen) then  PortOpen:= True; else  ShowMessage (‘Serial port sudah terbuka’); End;
Sedangkan untuk ‘menutup’ port serial Anda dapat menggunakan script sebagai berikut:
procedure TForm1.Button2Click(Sender: TObject); begin  Mscomm1.PortOpen:=false; end;
Cara Mengirim Data Serial dengan MsComm di Delphi
Untuk mengirim data serial menggunakan komponen MsComm, Anda harus menciptakan sebuah variabel yang bertipe ‘OLEvariant’. Masukkan data yang mau dikirim ke variabel tersebut, baru keluarkan data menggunakan procedure ‘Output’. Contoh script-nya adalah sebagai berikut:
procedure TForm1.Button3Click(Sender: TObject); var outcom:Olevariant; begin  OutCom := 'Saptaji.cm';  Mscomm1.Output := OutCom; end;
Cara Menerima Data Serial dengan MsComm di Delphi
Untuk menerima data serial dengan komponen MsComm, Anda harus memasukkan event handler di event onComm milik komponen ini. Caranya, dari jendela Object Inspector, buka tab ‘Events’ kemudian double click event onComm. Kemudian isikan event handler sbb:
procedure TForm1.MSComm1Comm(Sender: TObject); var recstr:Olevariant; begin  recstr:=Mscomm1.Input;  Memo1.text:=Memo1.Text+recstr; end;
Sekali lagi Anda harus mendekalarasikan variabel bertipe OLEvariant sebagai buffer (tempat penyimpanan sementara) data serial yang masuk ke komputer Anda. Perhatikan Anda harus meletakkan komponen Memo ke dalam Form Designer agar script di atas dapat berjalan.
Selesai. Kini Anda sudah dapat berkomunikasi secara serial dengan perangkat lain. Untuk mencobanya, pastikan bahwa port serial (COM port) Anda tidak sedang digunakan oleh aplikasi lain (Hyper Terminal, Putty, Terra Term, dsb). Kemudian buka port dan kirim/terima data serial dengan script di atas.
Demikian sedikit tutorial Cara Menggunakan ActiveX MsComm di Delphi, semoga dapat bermanfaat untuk Anda. Untuk saya pribadi, biasanya saya menggunakan komponen Comport untuk komunikasi serial karena dibuat dengan bahasa Delphi juga, jadi lebih cepat dan stabil. Tapi kalau misalnya Anda tetap menggunakan komponen MsComm, ya silahkan saja, karena ‘banyak jalan menuju Roma’ 🙂
[AdSense-A]
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
Ty info pak..sy cb bwt aplkasi desktop cs..saat sy isi data suplier di client1..sy cb buka di client2..blm mcl ya pak..pdhl sy udah rms qsuplier.close dan qsulpier.open..br sy ttp formx n bk lg br mncul..kr2 ada yg slh dmn ya pak..spy otomatis refresh data runtime..mksh
Sy menggunakn delphi..database ibexpert..mgkin ada cara membuat auto refresh pak
coba database connection dan dataset di-close dulu trus di-open saat aplikasi/form pertama kali loading (taruh di event Form onCreate atau apalah bisa dicoba2 sendiri)