Arsip: ActiveX FingerPrint SDK

 
user image
more 16 years ago

herux

Halo semua para programmer kelas wahid... Saya mo nanya nih... Saya sedang buat absensi pake fingerprint, 1. Alat sudah konek aplikasiku pake activex bawaan dari alatnya.. 2. Maksudnya konek adalah udah bisa mendeteksi event dari FingerPrint seperti OnPictReady, OnDeviceConected, OnDevDisconected, dll... atau bahkan data yang verifikasi hasil skan jari yg bisa masuk ke Database juga udah bisa. nah kesulitan saya pada saat menampilkan gambar ke TImage. Gambar yang di hasilkan dari FingerPrint lewat activeX adalah bertipe IDispatch (Karena COM) sedangkan script :

Image1.Picture.Assign(adalah : TPersistent);
//atau 
Image1.picture.bitmap adalah TBitmap;
procedure TForm1.FingerPrintPictReady(ASender: TObject;
  const pSample: IDispatch);
begin
    pSample.Picture ini berisi gambar .. tapi dia ber tipe IDispatch;
end;
nah pertanyaannya gimana solusinya atau teman2 ada yg pernah punya pengalaman soal ActiveX; Sepertinya mudah tapi kok saya gak bisa ya... ato saya pusing ... :idea: :roll: :?: [/pas]
user image
more 16 years ago

DelphiExpert

IDispath adalah base interface yg digunakan COM terhadap event tsb. Anda dipastikan harus mencari tahu dulu interface sesungguhnya dan lakukan typecast terhadap IDispatch tsb. coba cek dokumentasi ActiveX anda... kejadian tersebut sama aja seperti contoh: procedure Form1Show(Sender: TObject); IDispatch dapat disejajarkan ama Sender, sedang dalam contoh tsb. Sender belum tentu benar TObject-kan, karena sesungguhnya dia adalah TForm
user image
more 16 years ago

herux

Jadi Implementasinya gimana ?? jika IDispatch adalah Picture atau Object
user image
more 16 years ago

DelphiExpert

lah... saya juga ngga' tau, lha wong yg membuat interface-nya bukan saya... kan sudah saya bilang cek dokumentasi ActiveX anda... cari informasi header interface yg bersangkutan :lol: IDispatch dapat dipastikan bukan sebuah Picture, dia hanya sebatas interface yg mempunyai method/interface yg merujuk ke memory / bits pixel bitmap. yg perlu anda lakukan pertama adalah mencari tahu IID / GUID interface tsb. & header-nya.
user image
more 16 years ago

herux

Kalo contoh di VB begini : [vb:1:6b1f10317e] Private Sub OP_SampleReady(ByVal pSample As Object) pSample.PictureOrientation = Or_Portrait pSample.PictureWidth = picSample(Cursample).Width / Screen.TwipsPerPixelX pSample.PictureHeight = picSample(Cursample).Height / Screen.TwipsPerPixelY picSample(Cursample).Picture = pSample.Picture lblEvents.Caption = "Sample ready" End Sub [/vb:1:6b1f10317e] hasil trace di VB menunjukan kalo picture adalah variant/ object/ picture hasil trace di Delphi : Hasil trace pSample.Picture := $01102028 kalo saya TypeCast ke Variant := $001837C kalo saya Jadikan Array of Byte (dengan perkiraan adalah bit pixel bitmap) terjadi error "invalid argument" kalo Dokumentasi ActiveXnya tak cari dulu ya...
user image
more 16 years ago

herux

Ada yang tahu solusinya gak !! saya gak minta script kok... cukup logikanya aja gak papa.........
user image
more 16 years ago

herux

Haloo gak ada yg jawab, kasian lah diriku... gini aja dech aku ada nih contoh function pake bahasa CPP tolong ya di convert ke bahasa delphi atau setidaknya di kasih alurnya ini HRESULT CRegisterTemplateDlg::drawImage(int iCounter) { int i; HRESULT hr; for (i = 0; i < iCounter; i++) { if (m_pIFPSample[i] == NULL) return S_FALSE; CWnd wndImage = GetDlgItem (IDC_IMAGE1 + i); CDC cDCPt = wndImage->GetDC(); RECT imageRect; wndImage->GetClientRect (&imageRect); CComVariant varVal; varVal = imageRect.bottom; if (FAILED (hr = m_pIFPSample[i]->put_PictureHeight (varVal))) return hr; varVal = imageRect.right; if (FAILED (hr = m_pIFPSample[i]->put_PictureWidth (varVal))) return hr; IDispatch pDispPicture; if (FAILED (hr = m_pIFPSample[i]->get_Picture (&pDispPicture))) return hr; IPicturePtr pIPicture = pDispPicture; //Receives a pointer to GDI handle HBITMAP hBitmap; if (FAILED (hr = pIPicture->get_Handle((OLE_HANDLE ) &hBitmap))) return hr; if (FAILED (hr = drawBitmap (cDCPt->m_hDC, hBitmap))) return hr; pDispPicture->Release(); ReleaseDC (cDCPt); } return S_OK; } Toolooong peleaseeessssssssssss....... (aku bukan lulusan IT and gak pernah belajar C)
user image
more 16 years ago

herux

Yeah gak ada yg jawab juga setalah sekian lama..... ya udah tak jawab sendiri ya..... !!! Dari function pake bahasa C++ di atas saya coba convert ke delphi dan hasilnya ada satu function yaitu drawbitmap(cDPt->m_hDC, hBitmap) ini saya cari2 baik yg mirip ataupun yang jauh gak ketemu !!! he eh e... kalo yang lain sih ada seperti CWnd yg saya artikan di delphi adalah HWnd ato CComVariant saya artikan OleVariant. jadi proses convert saya berhenti untuk sementara... !! dari hasil cari2 dan ingat2 .. ketemu dech yang namanya

SetOlePicture(Picture: TPicture; OlePicture: IPictureDisp);
jadi dech... he eh ehe.... gambar sidik jariku keluarrrrr..... makasih ya.. bagi yang udah pada jawab and bantu 2....
user image
more 16 years ago

babypigs

mas herux ngomong2 waktu beli alatnya dikasih CD yang berisi activeX nya? Fingerprintnya merk apa?
user image
more 16 years ago

herux

Iya .. namanya DigitalPersona, tapi aplikasi contohnya pake VB and C++ sedang buat juga ??
more ...
  • Pages:
  • 1
  • 2
  • 3
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com