CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Dziwny błąd pamięci przez komponent ActiveX
Strona 1 z 1

Dziwny błąd pamięci przez komponent ActiveX

Nowy postNapisane: wtorek, 15 stycznia 2013, 12:11
przez nvdante
Witajcie :)
Trafił mi się dziwny problem. Otóż ze względu na użycie komponentu CppWebBrowser1 otrzymuję wyjątek taki, jak na zdjęciu podczas zamykania Formy. Dzieje się tak tylko wtedy, gdy program "został użyty", samo odpalenie i zamknięcie go nie powoduje.
KOD cpp:     UKRYJ  
CppWebBrowser1->Navigate(WideString( "C:\\index.html" ));


błąd.JPG


Z góry dzięki za pomoc.
Pozdrawiam

Re: Dziwny błąd pamięci przez komponent ActiveX

Nowy postNapisane: wtorek, 15 stycznia 2013, 12:29
przez Mironas
U mnie błąd się nie pojawił.
Możesz podesłać cały kod?

Re: Dziwny błąd pamięci przez komponent ActiveX

Nowy postNapisane: wtorek, 15 stycznia 2013, 13:01
przez nvdante
Właściwie błąd występuje nawet podczas zastosowania jedynie tego komponentu, ale fragment oczywiście mogę dać:)
KOD cpp:     UKRYJ  
Memo1->Lines->Add("<script language=\"JavaScript\">");
Memo1->Lines->Add("var speed=1");
... ( każda linijka jest taka sama )
Memo1->Lines->Add("window.onload=initialize");
Memo1->Lines->Add("</script>");
Memo1->Lines->SaveToFile("C:\\index.html");
CppWebBrowser1->Navigate(WideString( "C:\\index.html" ));

Zastanawia mnie tylko czy właściwym było dorzucenie po includach takiego dopiska:
#pragma link "bcbie.lib"
Bez tego nie mogłem skompilować kodu z komponentem CppWebBrowser, znalazłem to w sieci.

Pozdrawiam

Re: Dziwny błąd pamięci przez komponent ActiveX

Nowy postNapisane: wtorek, 15 stycznia 2013, 20:32
przez Cyfrowy Baron
Ten błąd często pojawiał się mi w C++Builder 6 gdy włączałem do projektu bibliotekę shellapi.hpp albo shelobj.hpp - nie pamiętam już o którą chodziło. Spróbuj tego: w pliku źródłowym dla formularza głównego dodaj dyrektywę #define NO_WIN32_LEAN_AND_MEAN, np:

KOD cpp:     UKRYJ  
//---------------------------------------------------------------------------
#define NO_WIN32_LEAN_AND_MEAN

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "shdocvw_ocx"
#pragma link "shdocvw"
#pragma resource "*.dfm"


Ten błąd niestety występuje tylko w środowisku C++Builder 6 Personal, do wersji Enteprise i Professional wypuszczono swego czasu łatki, które to naprawiały.

Re: Dziwny błąd pamięci przez komponent ActiveX

Nowy postNapisane: wtorek, 15 stycznia 2013, 20:52
przez nvdante
Niestety nie pomogło.
Jestem bliski pobrania i instalacji tego: http://www.dobreprogramy.pl/Visual-C,Program,Windows,12107.html
Chyba, że macie jeszcze jakiś pomysł :P

Re: Dziwny błąd pamięci przez komponent ActiveX

Nowy postNapisane: wtorek, 15 stycznia 2013, 20:59
przez Cyfrowy Baron
Proponuję nowszą wersję C++Builder np. XE2.

Re: Dziwny błąd pamięci przez komponent ActiveX

Nowy postNapisane: wtorek, 15 stycznia 2013, 21:56
przez nvdante
Z tym, że VC jest darmowy - także komercyjnie, a XE2 płatny :(
Ja piszę coś raz na pół roku i są to mega proste programy, więc nie wiem czy warto brać XE2?

Co ciekawe problem, o którym napisałem w tym wątku nie wystąpił, gdy przyniosłem program do domu ( praca XP SP3, dom 7 SP1 ) :roll:

Re: Dziwny błąd pamięci przez komponent ActiveX

Nowy postNapisane: wtorek, 15 stycznia 2013, 21:59
przez Cyfrowy Baron
Tutaj istotna jest wersja przeglądarki Internet Explorer, gdyż ta kontrolka działa tylko w systemach w których jest IE2. Zainstaluj w XP najnowszą przeglądarkę - maksymalnie wejdzie chyba wersja 8 i sprawdź.

Czy w Visual C++ 2010 Express występuje wogóle taka kontrolka?

Czu zwróciłeś uwagę na to: narzędzie przeznaczone do tworzenia bibliotek, klas, aplikacji konsolowych i okienkowych (Windows Forms) w języku C++ wtrybie zarządzanym przez .NET Framework 4.
Wersje Express to bezpłatne edycje komercyjnego pakietu Visual Studio 2010, skierowane do studentów, hobbystów i wszystkich rozpoczynających swoją przygodę z programowaniem w .NET.

Re: Dziwny błąd pamięci przez komponent ActiveX

Nowy postNapisane: wtorek, 15 stycznia 2013, 23:25
przez nvdante
Po pierwsze o ile się nie mylę to taki komponent nazywa się WebBrowser, a po drugie to tak, czytałem i wydaje mi się, że ten program spełniałby moje oczekiwania. Póki nie zainstaluję to więcej wiedzieć nie będę, więc ciężko było by mi odpowiedzieć na Twoje pytania. Nad XE2 też myślę, jednak odstrasza mnie trialowa wersja.
Tak czy inaczej problem jest w sporej części rozwiązany, a resztę poprawię jutro. Dziękuję bardzo za pomoc