PDA

View Full Version : مشکل در تب جدید



aserfg
سه شنبه 09 مهر 1387, 20:07 عصر
سلام من با کد زیر یه تب جدید درست می کنم و می خوام webbrowser تو تبی که فعال هست تکمیل بشه ولی با این کد توی آخرین کد صفحه رو نشون می ده.

procedure TForm5.N15Click(Sender: TObject);

begin
f:=true;
ATabSheet := TTabSheet.Create(PageControl1);
with ATabSheet do
begin
Parent := PageControl1;
PageControl := PageControl1;
end;
// يک web browser روي TabSheet:
WeB1 := TWebBrowser.Create(nil);
with web1 do
WeB1.ParentWindow :=ATabSheet.Handle;
i:=i+1;
atabsheet.Caption:='صفحه'+inttostr(i);
web1.Width:=1003;
web1.Height:=524;
pageControl1.ActivePage:=ATabSheet;
edit1.Text:='';
web1.Navigate('');

end;

Pr0grammer
پنج شنبه 11 مهر 1387, 00:01 صبح
میشه سوالتون رو واضح تر مطرح کنید!!! مشکلتون دقیقاً چیه؟ کجا باید نشون بده؟!

aserfg
جمعه 12 مهر 1387, 12:59 عصر
سئوال من فکر کنم واضح باشه ببینید کاربر چند تا تب شیت که تو هر کدومش یه کنترل webbrowserهم در زمان اجرا ساخته می شه رو می سازه حالا وقتی دکمه go رو می زنه مانند firfoxمی خوام صفحه توی صفحه ای که اکتیو هست نشون داده بشه .در حالی که توی آخرین صفحه نشون داده می شه

ghabil
جمعه 12 مهر 1387, 13:50 عصر
اگر دکمه Go کدش اینی هست که اینجا گذاشتی که این کد هردفعه داره یک TabSheet و یک WebBrowser جدید میسازه ، یکبار دقیق بگو میخوای چی کار بکنی تا بهت درست بگیم راهش چیه ، سوال این بنده خدار ور هم دوباره بخون : ایجاد tab sheet در حال اجرا برنامه (http://barnamenevis.org/forum/showthread.php?t=54682)
اگر هم این کد دکمه Go نیست که طبیعطا نباید باشه کد دکمه Go رو بزار

Felony
جمعه 12 مهر 1387, 18:35 عصر
این کد دکمه ی Go نیست این کد دکمه ی + است در Opera یا FireFox یه دکمه هست با عنوان + که با زدن اون یه پنجره جدید باز میشه ایشون با این کد اون رو شبیه سازی کرده و به نظرم کد دکمه ی Go رو اینطور نوشتن :


web1.Navigate(edit1.text);

و این کد هم مشکل داره چون هر بار با زدن دکمه ی + یه تب جدید ساخته میشه و نام Web1 به آخرین WebBrowser ساخته شده اختصاص میابه ...

aserfg
شنبه 13 مهر 1387, 19:24 عصر
دقیقا همین طوره که آقای SmileSoft (http://barnamenevis.org/forum/member.php?u=63881) گفتن تا حالا نتونستم مشکل رو حل کنم اگه دوستان به ویژه اساتید محترم سایت راهنمایی بفرمایند ممنون می شم.

ghabil
شنبه 13 مهر 1387, 23:56 عصر
احتمالا web1 یک متغییر گلوبال هست ، خب پس کد دکمه Go رو اینجوری کن :



var i : integer;
begin
with PageControl1.ActivePage do
for i:= 0 to controlCount -1 do
if Controls[i] is TWebBrowser then
begin
(Controls[i] as TWebBrowser).Navigate(Edit1.text)
Exit;
end;


ولی سعی کن متوجه بشی چی کار میکنی....

aserfg
چهارشنبه 17 مهر 1387, 18:26 عصر
دوست گرامی کدزیر تنها توی اولین تب ساخته شده درست کار می کند و زمانی که تب جدیدی ساخه شد مرورگر عملی انجام نمی دهد .