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ı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.İ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ı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.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ı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.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ı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.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

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
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
  FDMemTable1.Filter Sorunu Hk. pro_imaj 4 116 14-07-2019, Saat: 00:38
Son Yorum: pro_imaj
  IPhone resim aktarma sorunu adelphiforumz 10 248 10-07-2019, Saat: 20:00
Son Yorum: SimaWB
  Fastreport barcod yazdirma sorunu TheEAK 2 189 10-07-2019, Saat: 11:10
Son Yorum: TheEAK
  Pic 18F4520 ile seri haberleşme sorunu 41linea41 9 387 01-07-2019, Saat: 19:02
Son Yorum: 41linea41
  fonksiyon içinde parametreye default değer atama sorunu adelphiforumz 6 288 24-05-2019, Saat: 11:20
Son Yorum: adelphiforumz



Konuyu Okuyanlar: 1 Ziyaretçi