Tüm Platformlar için Hızlı Uygulama Geliştirme --->    Kitabımız...      Delphi

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 4/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
raised exception class EInvalidPointer with message 'Invalid pointer operation'.
#1
Merhaba, delphide yeni bir proje oluşturdum isim verip klasöre kaydettim daha sonra var olan bir projemdeki tum unitleri bu klasöre kopyalayıp  projeye ekledim login formumu autocreate yapıp diğerlerini avaible formsa geçirdim exe yi oluşturduğumda compile etiğimde bir sıkıntı görünmüyor exe oluşuyor fakat exe yi çalıştırdığımda ekrana herhangi bir görüntü gelmiyor görev yöneticisinde çalışıyor olarak görünüyor ve %33 işlemci kullanıyor.

Projeyi ide içerisinden F9 ile çalıştırdığımda bana Project MEFERP.exe raised exception class EInvalidPointer with message 'Invalid pointer operation'. hatasını veriyor ana formumum create eventindaki kodları da sildim ama bir  şey değişmedi F8 ile run etiğimde aynı hatayı verip

procedure TObject.FreeInstance;
begin
  CleanupInstance;
  _FreeMem(Pointer(Self)); // buraya konumlanıyor.
end; 

nerede ne hata yaptığımı nasıl görebilirim?

“Do. Or do not. There is no try.”
Cevapla
#2
Merhaba,
Ana projenin kaynak kodlarını paylaşma imkanınız var mı?  (Project > View Source)
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#3
(24-10-2016, Saat: 18:15)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba,
Ana projenin kaynak kodlarını paylaşma imkanınız var mı?  (Project > View Source)

program MEFERP;

uses
 Vcl.Forms,
 Crypt in 'Crypt.pas',
 eshardwareid in 'eshardwareid.pas',
 FrameCapture_ in 'FrameCapture_.pas' {frm_WebCamResimAl},
 login in 'login.pas' {frm_login},
  uVaryantlar in 'uVaryantlar.pas' {frm_Varyantlar};

{$R *.res}

begin
 Application.Initialize;
 Application.MainFormOnTaskbar := False;
 Application.CreateForm(Tfrm_login, frm_login);
 Application.Run;
end.

“Do. Or do not. There is no try.”
Cevapla
#4
Oluşan tek form Login formunuz. 
Kullanıcı login işlemi kodunuzda; Login gerçekleşirse (veya Modal Result durumu True ise) Ana formunuzu oluşturmanız gerekiyor. 
Login kısmındaki kodunuzda ana formu oluşturdunuz mu?
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#5
(24-10-2016, Saat: 18:25)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlOluşan tek form Login formunuz. 
Kullanıcı login işlemi kodunuzda; Login gerçekleşirse (veya Modal Result durumu True ise) Ana formunuzu oluşturmanız gerekiyor. 
Login kısmındaki kodunuzda ana formu oluşturdunuz mu?

boş bir form oluşturdum form1 bunu ana form yaptım yine aynı şekilde bi ara kafasına göre çalıştı ne hikmetse sonra yine aynı duruma döndü.

“Do. Or do not. There is no try.”
Cevapla
#6
Ana form olarak kullandığınız formu, sonradan oluşturmayın, doğrudan Auto-create form olarak tanımlayın. Bu durumda çalışırsa, en azından sorunun kökenini anlamış oluruz.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#7
(24-10-2016, Saat: 18:35)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlAna form olarak kullandığınız formu, sonradan oluşturmayın, doğrudan Auto-create form olarak tanımlayın. Bu durumda çalışırsa, en azından sorunun kökenini anlamış oluruz.

2016_10_24_18_57_03.png
bu şekilde de bir şey değişmedi.

“Do. Or do not. There is no try.”
Cevapla
#8
Hem login hem de Form1'i Auto-create form olarak tanımlayın. Ayrıca her iki formun OnShow veya OnCreate olaylarını adım adım Debug edin.
 

Sizi form oluşumları üzerinden, yönlendirmemin sebebi oluşan hatadır. (raised exception class EInvalidPointer with message 'Invalid pointer operation'. )
Hataya göre ilk oluşan forumunuzda kullanmış olduğunuz diğer bir form veya nesne adresine ulaşamıyorsunuz.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#9
Create ve show eventlarına breakpoint koyuyorum adım adım debug etmek istediğimde
  Application.Initialize;
burada kalıyor ve aynı hata mesajını tekrar alıyorum ileriye geçmiyor, create ve showdaki kodları sildiğim halde aynı.

Kopyaladığım yeni proje klasörünü sildim eski projeyi tekrar kopyalayıp eskiprojem.dpr yi açıp farklı kaydet diyerek yeniprojem.dpr olarak kaydetim (15 dk sürdü ide kıvranıyordu  Big Grin ) kaydetme işlemi bitikten sonra F9 a bastığımda yine aynı hata sorun anladığım kadarıyla proje dosyasını ve unitleri kullandığım delphi sürüme uyumlu hale getiriyordu örnek uses ta IBUpdateSQL i IBX.IBUpdateSQL olarak güncelliyor.

Eğer projeyi farklı kaydet demeyip yeni bir proje ismi vermeden eski haliyle çalıştırdığımda bir sıkıntı yok. Şimdilik bu şekilde devam edeceğim geniş bir vakite tekrar denemeler ve iki farklı klasördeki unit,dpr vs dosya içerik karşılaştırması yapan bir tool bulursam upgrade edilmiş hali ile eski hali arasında ki farklılıklara bakacağım.

“Do. Or do not. There is no try.”
Cevapla
#10
Merhaba,
Hatayı almadan önce 3. parti bileşenlerinizde güncelleme yaptınız mı?
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  DataSnap Invalid Argumant Hatası burakb44 6 186 25-12-2017, Saat: 23:43
Son Yorum: burakb44
  TJSONObject Invalid Variant Operation yhackup 38 652 14-12-2017, Saat: 11:08
Son Yorum: esistem
  AdoConnection [DBNETLIB][Connection Open(Invalid instance()).] pro_imaj 3 287 04-11-2017, Saat: 11:59
Son Yorum: Abdullah ILGAZ
  Exception EResNotfoud in modüls hattası(Çözüldü) admin02 7 553 13-06-2017, Saat: 19:48
Son Yorum: admin02
  [Çözüldü] invalid pointer oparation hatası Lord_Ares 4 470 10-04-2017, Saat: 23:25
Son Yorum: Lord_Ares



Konuyu Okuyanlar: 1 Ziyaretçi