Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как связать EmbeddedWB1NewWindow2 с Paramstr(2), событие NewWindow2 + Paramstrp + ppdisp  
V
    Опции темы
s2004
Дата 19.10.2012, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 30.10.2006

Репутация: нет
Всего: нет



Чучмек, если заремачено
Код

Application.ShowMainForm:=false;
 ShowWindow(Application.Handle, SW_HIDE);
 NewForm; 

то браузер работает, но не совсем правильно 
user posted image
виден третий значок на панели задач (окон браузера только два),
если строки кода прописаны ТО БРАУЗЕРА НЕТ, НИ ГЛАВНОГО ОКНА, НИ ФОРМЫ  просто есть отражение в диспечере задач ну как "троян". весь остальной код, как у тебя.


Это сообщение отредактировал(а) s2004 - 19.10.2012, 20:51
PM MAIL   Вверх
Чучмек
Дата 20.10.2012, 07:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 14
Всего: 41



Скинь. Я посмотрю.


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
s2004
Дата 20.10.2012, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 30.10.2006

Репутация: нет
Всего: нет



вышлю через личку
PM MAIL   Вверх
Чучмек
Дата 20.10.2012, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 14
Всего: 41



Ты так ничего не понял. Читай мой пост через один вверх.
Давай заново.
Из юнита, из того, который ты мне скинул, -(Unit1)
Удаляй 
Код

var

  form_count:cardinal=0;

Код

function NewForm:Idispatch;
procedure DecFormCount;


Код

function NewForm:Idispatch;
begin
 with TForm2.Create(nil)do
  begin
  caption:=FormCaption;
  visible:=true;
  result:=WebBrowser1.DefaultDispatch;
  inc(form_count);
  end;
end;

procedure DecFormCount;
begin
dec(form_count);
if form_count=0 then application.Terminate;
end;


из TForm1.FormCreate удаляй NewForm;

Потом File->New->Form
Form.Name=FormXXX

Юнит новой формы сохрани как StartForm_Unit
в нем
Код

unit StartForm_Unit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,unit1;

type
  TFormXXX = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormXXX: TFormXXX;
  form_count:cardinal=0;



function NewForm:Idispatch;
procedure DecFormCount;
implementation

{$R *.dfm}

function NewForm:Idispatch;
begin
 with TForm1.Create(nil)do
  begin
  caption:=FormCaption;
  visible:=true;
  result:=WebBrowser1.DefaultDispatch;
  inc(form_count);
  end;
end;

procedure DecFormCount;
begin
dec(form_count);
if form_count=0 then application.Terminate;
end;



procedure TFormXXX.FormCreate(Sender: TObject);
begin
NewForm;
end;

end.


В dpr -  первая создаваемая форма FormXXX
Код

program Project1;

uses
  Forms,
  windows,
  StartForm_Unit in 'StartForm_Unit.pas' {FormXXX},
  Unit1 in 'Unit1.pas' {Form1},
  ...
  ...



{$R *.res}

begin
  Application.ShowMainForm:=false;
  Application.Initialize;
  Application.CreateForm(TFormXXX, FormXXX); //!!! эта строка первая из Application.CreateForm
//Application.CreateForm(TForm1, Form1); // !!! эту строку удаляешь или комментируешь ОБЯЗАТЕЛЬНО!!!  
  ShowWindow(Application.Handle, SW_HIDE);
  Application.Run;
end.


В uses Unit1 прописываешь  StartForm_Unit 





Это сообщение отредактировал(а) Чучмек - 20.10.2012, 22:03


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
s2004
Дата 20.10.2012, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 30.10.2006

Репутация: нет
Всего: нет



попробую завтра спасибо.
PM MAIL   Вверх
s2004
Дата 21.10.2012, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 30.10.2006

Репутация: нет
Всего: нет



так сделал, заработало кроме одного - досадная ошибка в начале запуска. при закрытия окна грузится браузер нормально и все вкладки отражены на значке панели задач.
user posted image

Код


Application.ShowMainForm:=1=0; прописано
Application.ShowMainForm:=false; не получается вроде до implementation проверял наверно сбой ещё по другой причине


PM MAIL   Вверх
Чучмек
Дата 21.10.2012, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 14
Всего: 41



У тебя встречается код
Код

Form1.EmbeddedWb1.DownloadOptions:=Form1.EmbeddedWb1.DownloadOptions
- [DLCTL_DLIMAGES, DLCTL_BGSOUNDS, DLCTL_VIDEOS,DLCTL_NO_SCRIPTS]
+ [DLCTL_PRAGMA_NO_CACHE, DLCTL_NO_JAVA];
EmbeddedWB1.Refresh;

За комментируй в unit1 строку 
Код

var Form1:TForm;

И исправь все
Код

procedure TForm1.bu...
begin
 form1.Em...

На
Код

procedure TForm1.bu...
begin
 self.Em...


Добавлено через 2 минуты и 15 секунд
После того как ты убрал строку Application.CreateForm(TForm1, Form1)
Form1 у тебя больше не существует


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
s2004
Дата 21.10.2012, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 30.10.2006

Репутация: нет
Всего: нет



покрутил в выходные несколько часов. чтение без запроса с диска не идёт. после того, как например ещё убираю form1 на self среда дельфи начинает упорно подставить unit1 в unit1, что ошибка отказываясь от этого там другое лезет.
я вот помню вроде на каком то этапе у меня давно работало отражение открытых cskjr в значках на панели задач. Возможно какое другое решение тут действительно начинаешь одно менять появляется куча другого.
PM MAIL   Вверх
Чучмек
Дата 21.10.2012, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 14
Всего: 41



Вот когда начинаешь понимать, что глобальные переменные это зло.
Вот что у тебя есть
Цитата

 var
 MyClpFormat: integer;

 iconindex : integer;

 PIInfo : PInternetProxyInfo;
 Links : TStringlist;
 ActiveDesigner: TEditDesigner;
 EditServices: IHTMLEditServices;
 FDocHostUIHandler: TDocHostUIHandler;
 CtxMenuAdded: Boolean;
 i:string;

 
Использовалось раньше одной формой - а теперь несколькими.
Перенеси внутрь TForm1


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
s2004
Дата 21.10.2012, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 30.10.2006

Репутация: нет
Всего: нет



попробую наверно уже завтра
PM MAIL   Вверх
s2004
Дата 21.10.2012, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 30.10.2006

Репутация: нет
Всего: нет



так вроде всё подправил, пока ошибок не пишет ....

нет есть. такая при открытие файла с диска пишет примерно тоже самое - ошибка по такому адресу и прочая, но повторю возникает при открытие файла с диска, если просто ввести адрес или из истории с вкладок, то нормально, как только с диска - сбой. потом открывается браузер, но файл неподгружает.

нет возможности регулировать показывать картинку или нет

менял на self 
Код


procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if RadioButton1.checked then RadioButton2.checked := false
else RadioButton1.checked := true;
if True then
self.EmbeddedWb1.DownloadOptions:=self.EmbeddedWb1.DownloadOptions
+ [DLCTL_DLIMAGES,DLCTL_NO_JAVA]
- [DLCTL_PRAGMA_NO_CACHE,DLCTL_BGSOUNDS, DLCTL_VIDEOS, DLCTL_NO_SCRIPTS];
EmbeddedWB1.Refresh;
end;

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
if RadioButton1.checked then RadioButton2.checked := false
else RadioButton1.checked := true;
if True then
self.EmbeddedWb1.DownloadOptions:=self.EmbeddedWb1.DownloadOptions
+ [DLCTL_DLIMAGES, DLCTL_BGSOUNDS, DLCTL_VIDEOS]
- [DLCTL_PRAGMA_NO_CACHE, DLCTL_NO_JAVA, DLCTL_NO_SCRIPTS];
end;

procedure TForm1.RadioButton2Click(Sender: TObject);
begin
if RadioButton2.checked then RadioButton1.checked := false
else RadioButton2.Checked  := true;
if True then
self.EmbeddedWb1.DownloadOptions:=self.EmbeddedWb1.DownloadOptions
- [DLCTL_DLIMAGES, DLCTL_BGSOUNDS, DLCTL_VIDEOS,DLCTL_NO_SCRIPTS]
+ [DLCTL_PRAGMA_NO_CACHE, DLCTL_NO_JAVA];

end;





Это сообщение отредактировал(а) s2004 - 21.10.2012, 22:57
PM MAIL   Вверх
Чучмек
Дата 22.10.2012, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 14
Всего: 41



У тебя еще куча юнитов, проверяй где еще есть обращение к form1 


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
s2004
Дата 22.10.2012, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 30.10.2006

Репутация: нет
Всего: нет



ещё 4 form1 нашёл теперь нет. но теперь программа при запуске ведёт так, как в начале темы - при открытие сылки из родительского окна и если это окно закрыть происходит и закрытие родительского и дочернего окна. вышлю unit1.pas. вопрос прописаны ini- файлы для сохранения параметров проги например включена возможность показа картинок? при закрытие проги и вновь открытии вновь приходится нажимать на соответсвующую кнопку чтобы отображались картинки прога несохраняет поему изменения. ну и нет докучи чтения с диска.

так нашёл почему прога стала закрываться при закрытие родительского окна
в form1 в onclose поставил
Код

Application.Terminate;


убрал выше названная ошибка прошла

вопрос как заставить программу удалять себя из памяти?

кстати по глобальным переменым в учебниках например расписывают, что это хорошо не надо прописовать к каждой процедуре, а тут действительно прав Чучмек - за них сбои. лучше прописать к каждой процедуре.

Это сообщение отредактировал(а) s2004 - 22.10.2012, 20:18
PM MAIL   Вверх
Чучмек
Дата 22.10.2012, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 14
Всего: 41



В TForm1.FormClose
Должно стоять (последней строкой) DecFormCount.
Посмотри внимательно: при вызове NewForm увеличивается на единицу form_count.
При вызове DecFormCount уменьшается. Если DecFormCount=0 ->application.Terminate


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
s2004
Дата 22.10.2012, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 30.10.2006

Репутация: нет
Всего: нет



да сработало прога из памяти выгружается.
а вот чтение с диска почему не работает, ну и вопрос по несохранению параметров.
PM MAIL   Вверх
Страницы: (5) Все 1 2 [3] 4 5 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0591 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.