Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
carsoft
Üye
Mesajlar: 138 Kayıt: 01 Ağu 2014 12:27
Mesaj
gönderen carsoft » 28 Eyl 2016 01:48
Edit1 içindeki yazıyı gönderiyorum ama sadece ilk harfi alıyor.
Gönderme
Kod: Tümünü seç
var
DataStruct : CopyDataStruct; // data gönder
begin
DataStruct.dwData := 0;
DataStruct.cbData := length(edit1.Text)+1;
DataStruct.lpData := pchar(edit1.Text);
SendMessage(FindWindow('TForm1', 'Deneme'),
WM_CopyData, Form1.handle, integer(@DataStruct));
end;
almak için
Kod: Tümünü seç
procedure CopyData(var Msg: TWMCopyData); message wm_CopyData;
Kod: Tümünü seç
procedure TForm1.CopyData(var Msg: TWmCopyData);
var sMsg: String;
begin
if IsIconic(Application.Handle) then
Application.Restore;
sMsg := PChar(Msg.CopyDataStruct.lpData);
Label1.Caption := sMsg;
end;
SimaWB
Üye
Mesajlar: 1316 Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:
Mesaj
gönderen SimaWB » 28 Eyl 2016 02:01
Birincisi Delphi versiyonu önemli. Unicode desteği var mı yok mu?
İkincisi gönderim esnasında cbData'da +1 neden?
There's no place like 127.0.0.1
xxxjedixxx
Üye
Mesajlar: 216 Kayıt: 10 Ara 2013 03:50
Mesaj
gönderen xxxjedixxx » 28 Eyl 2016 02:24
Merhaba,
Eğer unicode ise gönderimdeki ilgili satırı aşağıdaki gibi değiştirirsen çalışacaktır.
DataStruct.cbData := length(edit1.Text) * SizeOf(WideChar);
carsoft
Üye
Mesajlar: 138 Kayıt: 01 Ağu 2014 12:27
Mesaj
gönderen carsoft » 28 Eyl 2016 04:21
Evet Gönderim Unicode destekli Delphi 10.1 Berlin sürümünden Delphi 7 ' ye gönderiyorum
Degiştim ama yine olmadı
Kod: Tümünü seç
DataStruct.cbData := length(edit1.Text) * SizeOf(WideChar);
xxxjedixxx
Üye
Mesajlar: 216 Kayıt: 10 Ara 2013 03:50
Mesaj
gönderen xxxjedixxx » 28 Eyl 2016 04:50
Delphi7'den okuyorsan alım kısmındaki satırı aşağıdaki ile değiştir.
sMsg := PWideChar(Msg.CopyDataStruct.lpData);
Gönderim kısmı için söylediğim değişiklik hala geçerlidir.
DataStruct.cbData := length(edit1.Text) * SizeOf(WideChar);