Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Message box karakter sorunu
#1
Ustalarım merhaba. Yeni projemi yazarken, eski yazdığım kaynak kodunda gerekli olan kaynağı kopyalarken yanlışlıkla farklı bir karakter içeren kod aktardım. Önüme bir uyarı mesajı çıktı şu.


r5z0k7.png


Bu mesajı yanlışlıkla onayladım ve tüm projemin messagebox, windows hata mesajları full çinçe oldu. Şu şekilde.

Ll5vzj.png

Yeni bir proje açıp messagebox çağırdığımda türkçe ve sorunsuz tamam yazıyor. Ama benim projemde şuan bu durumda. Style kaynaklıdır diye orjinal windows çevirdim ama genede düzelmedi. İnternette bu konu hakkında pek bilgi yok. Nasıl bu sorunu çözebilirim ? Eski ayarına nasıl geri getirebilirim ?
Cevapla
#2
İlginç bunu yapabilmek için bir procedure yazardık Smile

Projenize özel bir mesaj box procedure yoksa diye değerlendiriyorum o kadar değildir diyorum.  

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
 MessageBox  ( Application.MainForm.Handle, PChar('Merhaba'), PChar('Başlık'), MB_OK );
 ShowMessage ( 'Merhaba' );
 MessageDlg  ( 'Merhaba', mtInformation, [mbOk], 0 );
end;

Bunu yapınca ekrana sırasıyla gelecek üç mesajda da butonlar aynı şekilde mi geliyor ? Dener misiniz ??
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#3
(24-03-2019, Saat: 09:59)mrmarman Adlı Kullanıcıdan Alıntı: İlginç bunu yapabilmek için bir procedure yazardık Smile

Projenize özel bir mesaj box procedure yoksa diye değerlendiriyorum o kadar değildir diyorum.  

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
 MessageBox  ( Application.MainForm.Handle, PChar('Merhaba'), PChar('Başlık'), MB_OK );
 ShowMessage ( 'Merhaba' );
 MessageDlg  ( 'Merhaba', mtInformation, [mbOk], 0 );
end;

Bunu yapınca ekrana sırasıyla gelecek üç mesajda da butonlar aynı şekilde mi geliyor ? Dener misiniz ??

Hocam cevap verdiğiniz için teşekkür ederim. 2. ve 3. mesajlarda bu hatalı yazıyor ilk mesajda sorunsuz şekilde yazıyor. Şu şekilde hatalar.

oX4dvX.png

lq5QlQ.png
Cevapla
#4
Bende RIO var her şey unicode olduğundan herşey kontrol altında görünüyor.

MessageBox bize WinApi.Windows'dan geliyor ShowMessage ve MessageDlg ise Vcl.Dialogs unitinden.

Sizin hata veren messagebox nasıl bir şey yazar mısınız...
Bir de kullandığınız Delphi sürümünü söylerseniz hata için yardımcı olmak isteyenler için veri/bilgi önemli.

Sorununuz bu messagebox ile çözüldü görünüyor ama aklımızda olsun. Idea
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#5
(24-03-2019, Saat: 10:25)mrmarman Adlı Kullanıcıdan Alıntı: Bende RIO var her şey unicode olduğundan herşey kontrol altında görünüyor.

MessageBox bize WinApi.Windows'dan geliyor ShowMessage ve MessageDlg ise Vcl.Dialogs unitinden.

Sizin hata veren messagebox nasıl bir şey yazar mısınız...
Bir de kullandığınız Delphi sürümünü söylerseniz hata için yardımcı olmak isteyenler için veri/bilgi önemli.

Sorununuz bu messagebox ile çözüldü görünüyor ama aklımızda olsun. Idea

Hocam delphi 10.2 kullanıyorum. Sorun tek message box değil. Windows hata mesajlarıda aynı şekilde çince yazıyor asıl sorun orada. Mesela şu şekilde göstereyim size.

Şu şekilde bir stringlisti create etmeden free yaptım. 

P1J7R6.png

Bu şekilde full farklı karakter. 

İşin garibi hata yakalarkende çince yazıyor ancak hata koduna gelince hangi hatayı vermiş anlayabiliyorum... Sad
Cevapla
#6
Merhaba.

Karşılaştırma yapayım diye aşağıdaki şekilde bir kayıt yaptım.

  procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  ShowMessage ( '会员号' );  // 会员号
end;


dbroflpl6hhp0pzeg2kk.png

Bahsettiğin hata mesajını aldım ( geçmiş zamanlarda web'den copy/paste yapılan kodlarda zaman zaman almışlığım da oldu ama etkisi olmamıştı ) yine etkisi olmadı.


Size önerim, 
(1) Delphi IDE'yi kapatın.
(2) Projenizin klasörünün yedeğini başka bir klasöre alın.
(3) Projenizin klasöründeki uzantısı res, local, dproj, stat olanlarını silin
(4) Bu silinmiş haliyle Delphi'de proje dpr dosyanızı açın.

silinenler yeniden üretilecektir. Eğer proje içerisinde değişiklik olmuşsa buralarda olmuştur. 

Eğer sonuç OLUMLU ise sizden ricam bu dört tane silinmiş dosya ile yeni üretilenleri karşılaştırıp farkları buradan yazın. Merak ettim.

Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#7
(24-03-2019, Saat: 11:21)mrmarman Adlı Kullanıcıdan Alıntı: Merhaba.

Karşılaştırma yapayım diye aşağıdaki şekilde bir kayıt yaptım.

  procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  ShowMessage ( '会员号' );  // 会员号
end;


dbroflpl6hhp0pzeg2kk.png

Bahsettiğin hata mesajını aldım ( geçmiş zamanlarda web'den copy/paste yapılan kodlarda zaman zaman almışlığım da oldu ama etkisi olmamıştı ) yine etkisi olmadı.


Size önerim, 
(1) Delphi IDE'yi kapatın.
(2) Projenizin klasörünün yedeğini başka bir klasöre alın.
(3) Projenizin klasöründeki uzantısı res, local, dproj, stat olanlarını silin
(4) Bu silinmiş haliyle Delphi'de proje dpr dosyanızı açın.

silinenler yeniden üretilecektir. Eğer proje içerisinde değişiklik olmuşsa buralarda olmuştur. 

Eğer sonuç OLUMLU ise sizden ricam bu dört tane silinmiş dosya ile yeni üretilenleri karşılaştırıp farkları buradan yazın. Merak ettim.


Hocam sildim sonuç aynı. Karşılaştırma işlemini yapmıştım daha önce yeni proje ile aynısı olmayan hiç bir fark görememiştim. Şimdi sildim gene düzelmedi malasef.
Cevapla
#8
Aklıma gelmişken SKIN için özel bir bileşen mi kullanıyorsunuz. 

Mesajlar skin tarafından ele alınıp sonra ekrana basıldığından orada değişikliğe uğruyor olabilir. 

Sadece skini default yapmak değil de SKIN bileşenini olduğu gibi projenizden temizleyip yeniden bir deneyin isterseniz, sorunsalı gereğinden uzakta aramamak lazım aslında.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#9
(24-03-2019, Saat: 12:10)mrmarman Adlı Kullanıcıdan Alıntı: Aklıma gelmişken SKIN için özel bir bileşen mi kullanıyorsunuz. 

Mesajlar skin tarafından ele alınıp sonra ekrana basıldığından orada değişikliğe uğruyor olabilir. 

Sadece skini default yapmak değil de SKIN bileşenini olduğu gibi projenizden temizleyip yeniden bir deneyin isterseniz, sorunsalı gereğinden uzakta aramamak lazım aslında.

Hocam yardımlarınız için çok çok teşekkürler. Dediğiniz gibi tek tek unitleri sildim ve çok garip bir şekilde sorunun cport bileşeninden olduğunu gördüm Big Grin  cport.pas unitini eklediğimde cince oluyor çıkardığımda sorunsuz düzeliyor. Yanlız anlamadığım o hata mesajından sonra bu şekilde olmasının sebebini çözemedim. Birde cport.pas unitine baktım hocam ama bir türlü nerenin projeyi bu şekilde getirdiğini bulamadım. Cport.pas incelemeye vaktiniz varsa hocam hatanın nerede olduğunu çok merak ediyorum...

Cport.pas

https://drive.google.com/open?id=1Ut0sVv...Uto9Pb8LEy
Cevapla
#10
Sevindim.

başarılar..
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  türkçe karakter problemi delphiX14 4 415 27-12-2023, Saat: 10:03
Son Yorum: delphiX14
  Acayip bir karakter gösterim durumu delphicim 3 439 10-11-2023, Saat: 12:24
Son Yorum: delphicim
  Cas Terazi Veri gönderimi Delphi sürüm sorunu KUNTAY 12 4.300 08-11-2023, Saat: 00:06
Son Yorum: berkan
  TCMB Kur Almada Explorer Sertifika Sorunu Adem Kurt 3 580 24-10-2023, Saat: 15:14
Son Yorum: RAD Coder
  program exe icon sorunu cvheneburi 9 2.725 19-10-2023, Saat: 15:04
Son Yorum: harunyl



Konuyu Okuyanlar: 1 Ziyaretçi