
09/12/2021 (Versi 1.9)
03/13/2021 (Versi 1.8)
02/01/2021 (Versi 1.7)
12/18/2020 (Versi 1.6)
11/28/2020 (Versi 1.5)
11/01/2020 (Versi 1.4)
10/31/2020 (Versi 1.3)
10/27/2020 (Versi 1.2)
10/26/2020 (Versi 1.1)
05/03/2020
03/11/2019
DztalkApp memungkinkan Anda untuk mengirim data antara aplikasi yang berbeda. Anda dapat mengirim tipe data sederhana seperti integer atau string, dan bahkan data yang kompleks, seperti catatan.
Mendukung Delphi Xe3..Delphi 11
Jatuhkan TdztalkApp di aplikasi sumber dan tujuan.
Anda hanya perlu mengatur nama jendela di komponen, dan komunikasi akan terjadi di antara pegangan jendela.
Di aplikasi tujuan, cukup atur acara OnMessage untuk menerima dan membaca data.
AutoActivate: Boolean = Auto-enable pegangan pada komponen yang dimuat. Ini hanya akan berfungsi saat Anda mengatur properti lain dalam mode desain waktu.
AutoFind: Boolean = Saat AutoFind diaktifkan, pada setiap perintah Kirim, komponen akan menemukan pegangan jendela tujuan.
MyWindowName: String = Tentukan nama pegangan sumber. Properti ini hanya diperlukan jika aplikasi ini akan menerima komunikasi. Kalau tidak, Anda hanya perlu mengatur nama jendela tujuan.
DestWindowName: String = Tentukan nama jendela tujuan. Properti ini hanya diperlukan jika aplikasi ini akan mengirim komunikasi, jika tidak, Anda hanya perlu mengatur nama pegangan jendela sumber.
Synchronous: Boolean = Jika properti ini diaktifkan, ketika Anda mengirim perintah ke aplikasi lain, pointer eksekusi akan dirilis hanya setelah metode aplikasi OnMessage berakhir. Jika properti ini dinonaktifkan, ketika tujuan menerima pesan, segera penunjuk eksekusi dirilis dalam aplikasi sumber.
Active: Boolean (hanya baca publik) = Menunjukkan apakah komponen diaktifkan atau dinonaktifkan (lihat Metode Enable dan Disable ).
ToHandle: HWND (publik) = Menyimpan pegangan jendela tujuan terakhir. Anda dapat mengatur properti ini secara manual jika diperlukan, tetapi saya sarankan Anda untuk menggunakan metode FindDestWindow sebagai gantinya.
procedure Enable ;Mengaktifkan pegangan jendela untuk mengirim dan menerima pesan. Anda perlu menentukan nama pegangan jendela sebelum menggunakan metode ini.
procedure Disable ;Menonaktifkan pegangan jendela.
procedure FindDestWindow ; Temukan dan atur jendela tujuan yang ditangani dengan nama yang ditentukan dalam properti DestWindowName . Jika jendela tujuan tidak ditemukan, kesalahan dinaikkan, menggunakan kelas EDzTalkAppWndNotFound .
procedure Send (ID: Word); overload;
procedure Send (ID: Word; N: Integer); overload;
procedure Send (ID: Word; const A: string); overload;
procedure Send (ID: Word; P: Pointer; Size: Cardinal); overload;
procedure Send (ID: Word; S: TMemoryStream); overload; Gunakan Metode Kirim untuk mengirim pesan ke aplikasi tujuan. Untuk mengirim pesan, komponen perlu diaktifkan (gunakan metode Enable ) dan membutuhkan nama jendela tujuan yang ditentukan (gunakan properti DestWindowName ).
Metode Overloads memungkinkan Anda untuk mengirim:
Hanya perintah, menggunakan parameter ID
Perintah dengan parameter integer, menggunakan parameter N
Perintah dengan parameter string, menggunakan A
Perintah dengan segala jenis parameter data, menggunakan parameter P dan menentukan ukuran parameter data.
Perintah dengan aliran data memori, menggunakan parameter S
function AsString : string;Gunakan fungsi ini di dalam acara OnMessage untuk mendapatkan data pesan sebagai jenis string.
function AsInteger : Integer;Gunakan fungsi ini di dalam acara OnMessage untuk mendapatkan data pesan sebagai tipe integer.
procedure AsStream (Stm: TStream);Gunakan prosedur ini di dalam acara OnMessage untuk mendapatkan data pesan sebagai tipe TStream (objek perlu dibuat sebelum memanggil metode ini).
function GetResult : Integer; Anda dapat menggunakan fungsi ini tepat setelah metode Send panggilan untuk mendapatkan kode hasil dari pesan yang diterima oleh aplikasi tujuan. Anda dapat menetapkan hasil ini di acara OnMessage di aplikasi tujuan. Silakan lihat deskripsi acara OnMessage.
procedure OnMessage (Sender: TObject; From: HWND; ID: Word; P: Pointer; Size: Cardinal; var Result: Integer); Metode ini akan terjadi di aplikasi tujuan saat pesan diterima. Parameter From menunjukkan pegangan jendela sumber. Parameter ID menunjukkan kode pesan yang digunakan dalam metode Send di aplikasi sumber. Parameter P memiliki penunjuk data pesan. Parameter Size memungkinkan Anda mengetahui ukuran data yang diterima.
Parameter Result memungkinkan Anda untuk menetapkan kode hasil untuk dikembalikan ke aplikasi pengirim (aplikasi pengirim harus menggunakan fungsi GetResult tepat setelah menggunakan metode Send untuk membaca kode hasil ini).
Anda dapat menggunakan metode AsString , AsInteger atau AsStream untuk mendapatkan konten data pesan sebagai jenis tertentu.
Anda dapat mengirim struktur rekaman. Untuk melakukan ini, pastikan Anda selalu menggunakan packed record , karena catatan semacam ini akan menggunakan struktur ukuran tetap.
Untuk mengirim catatan, gunakan:
type
TData = packed record
Number: Integer;
Text: ShortString;
Flag: Boolean;
end ;
var R: TData;
begin
R.Number := 100 ;
R.Text := ' TEST ' ;
R.Flag := True;
DzTalkApp.Send( 1 , @R, SizeOf(R));
end ;Untuk menerima catatan ini menggunakan acara OnMessage:
var R: TData;
begin
R := TData(P^);
end ;Tentu saja, catatan yang dikemas pada aplikasi tujuan harus memiliki struktur yang sama dengan catatan yang digunakan dalam aplikasi pengirim.
Untuk mengirim tipe ganda:
var D: Double;
begin
DzTalkApp.Send( 1 , @D, SizeOf(D));
end ;Untuk menerima tipe ganda (acara OnMessage):
var D: Double;
begin
D := Double(P^);
end ;