ورود

View Full Version : راهنمایی در مورد ارتباط چند فرم در دلفی



emilvr
جمعه 17 اسفند 1386, 19:39 عصر
سلام

من وقتی دو تا فرم رو به هم ارتباط می دم وقتی می خوام از مقدار شیء DBEDIT فرم یک در فرم دو استفاده کنم(و بر عکس ) خطا میده. من Unit1 , Unit 2 رو در هر دو فرم در قسمت Uses تعریف کردم.

پیغام خطا :

Object Reference Not Set To An Instance Of an Object

در ضمن برای وارد کردن مقادیر به جدول پایگاه داده از این دستور استفاده می کنم. این دستور درسته ؟
Table1.FieldValues['user name']:=dbedit1.Text

اگه ممکنه در این مورد هم کمکم کنید

delphiprog3000
جمعه 17 اسفند 1386, 19:59 عصر
سلام دوست عزیز

در مورد مشکل اول شما شما تنها یک یونیت رو به یونیت دیگر یوز کنید کفایت میکنه که اینکار با دکمه Alt+f11 صورت میگیره یا در قسمت implementation اسم یونیت مورد نظر رو اضافه کنید.


و در این مورد هم شما میتوانید از راهای مختلف استفاده کنید.

مثال:


With DataModule1 Do
Begin
adoquery1.Active:=true;
adoquery1.Insert;
adoquery1.Edit;
adoquery1Id_c.AsString:=Cid.Text;
adoquery1Name_c.AsString:=Cname.Text;
adoquery1Family_c.AsString:=Cfamily.Text;
adoquery1tel_c.AsString:=Ctel.Text;
adoquery1address_c.AsString:=address.Text;
adoquery1.Post;
End;

var str1:string;

str1:=' insert into tblcustomer (name,family,fthr_name,id_num,Brth_date,code_id,id _pass,exprt_ps_date,expr_ps_date) values ('+QuotedStr(edt_name.Text)+','+QuotedStr(edt_fami ly.text)+','+QuotedStr(edt_father.Text)+','+Quoted Str(edt_num_id.Text)+','+QuotedStr(date1)+','+Quot edStr(edt_code_id.Text)+','+QuotedStr(edt_pass_id. Text)+','+QuotedStr(date2)+','+QuotedStr(date3)+') ';

with adoquery1 do
begin
close;
sql.text:=str1;
Execsql;
end;
در مورد راه شما نیز به نظر درست میاد ولی باید برای ارسال آن به تیبل از post استفاده کنی البته اگه اشتباه نکنم.

موفق باشید.....

reza_Nazem
جمعه 17 اسفند 1386, 23:27 عصر
سلام
آیا table1 در یک فرم DBTextbox1 در فرم دیگری می باشد؟
اگر به این شکل است شما باید برای استفاده از اسم یک object در یک فرم دیگر حتما اسم فرم ان object را قبل از بنویسی



Table1.FieldValues['user name']:=Form2.dbedit1.Text

فرض می کنیم dbedit1 در form2 و Table1 در form1 می باشد این کد را هم در فرم یک نوشتیم