Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Otwieranie strony internetowej z poziomu własnej aplikacji

Ostatnio zmodyfikowano 2009-04-21 08:14
Autor Wiadomość
GoldWolf
» 2009-04-20 22:49:51
Innym rozwiązaniem jest użycie wątków, prostsze jednak czy warto....
C/C++
// Pierwszy wątek  -------------------------------
int __fastcall Obciaz1( Pointer Parameter ) {
   
    ShellExecute( NULL, "open", "http://ddt.pl", "", "", SW_SHOWNORMAL );
    ExitThread( GetExitCodeThread( Obciaz1, NULL ) ); // usunięcie wątku z pamięci,
    //od tego momentu wątku nie można już wstrzymać.
    return 0;
}
// trzeci wątek  -------------------------------
int __fastcall Obciaz2( Pointer Parameter ) {
   
    ShellExecute( NULL, "open", "http://ddt.pl", "", "", SW_SHOWNORMAL );
    ExitThread( GetExitCodeThread( Obciaz1, NULL ) ); // usunięcie wątku z pamięci,
    //od tego momentu wątku nie można już wstrzymać.
    return 0;
}
// drugi wątek  -------------------------------
int __fastcall Obciaz3( Pointer Parameter ) {
   
    ShellExecute( NULL, "open", "http://ddt.pl", "", "", SW_SHOWNORMAL );
    ExitThread( GetExitCodeThread( Obciaz1, NULL ) ); // usunięcie wątku z pamięci,
    //od tego momentu wątku nie można już wstrzymać.
    return 0;
}
void __fastcall TForm4::Button1Click( TObject * Sender )
{
    W_ID = BeginThread( NULL, 0, Obciaz1, this, 0, W_PD );
    W_ID = BeginThread( NULL, 0, Obciaz2, this, 0, W_PD );
    W_ID = BeginThread( NULL, 0, Obciaz3, this, 0, W_PD );
}
//------------------------------------------------
Jest proste i działa, problem jest iż jakby trzeba było 10 otworzyć to musiało by być 10 wątków co jest trochę naciąganym rozwiązaniem.
P-5891
Patzick
» 2009-04-20 23:41:45
I raczej nie to chcieliśmy osiągnąć. Ale dzięki za odświeżenie tematu, dodam go do oczekujących i napisze w końcu ten obiecany artykuł :)
P-5892
DejaVu
Temat założony przez niniejszego użytkownika
» 2009-04-21 01:13:02
Mimo wszystko polecam pomęczyć się z tym, aby wczytać treść strony do pamięci mechanizmami, które zostały wbudowane w kod. Po pierwsze, będzie estetyczniejsze, po drugie nie będziemy uzależnieni od jakiejś zewnętrznej aplikacji no i po trzecie program będzie szybszy :)

manfred spuść z tonu bo im częściej zabierasz głos w ten sposób tym większa ochota nachodzi mnie aby zablokować Twoje konto. Nie chcę tego robić, jednak 90% swojej działalności na tym forum to destruktywna krytyka wszystkiego co się da. Nie zależy mi na tym aby takich użytkowników tu trzymać, którzy uważają siebie za pempek świata i zamiast starać się pomóc to jeszcze tylko dowalają komentarze w Twoim stylu. Licz się z tym, że ja czytam wszystko co tu jest pisane na forum i że wielu użytkowników żali się na to Twoje zachowanie. Nie chce mi się Ciebie upominać co i rusz tak więc przemyśl to proszę i postaraj się dostosować do harmonii i pozytywnego nastawienia jakie tu panuje :)
P-5894
GoldWolf
» 2009-04-21 07:22:05
Nie miałem czasu się temu przyjrzeć, ale na pewno wątek to dobre rozwiązanie. Może następny post będzie konkretniejszy.

Program na pewno nie ma prawa się kompilować bo to jego wycinek jest z Borlanda musisz mieć w klasie private(klasy Form) dwie zmienne W_ID i W_PD.

Pana man... ignoruje.

Wątek to bardzo ciekawa sprawa jest polecam, jednak jest to tylko funkcja i trzeba inaczej projektować w takim przypadku.
W każdym bądź razie jest to otwieranie kilku stron z poziomu jednej aplikacji, troszkę ograniczone.
P-5895
manfred
» 2009-04-20 23:30:26
Szkoda że twój kod nie ma prawa się skompilować...
P-18826
manfred
» 2009-04-21 08:14:33
OMG... Już nie można napisać że kod się nie skompiluje? Nie ma prawa, bo CreateThread chce funkcję DWORD __stdcall(void*), ty dajesz int __fastcall(void*). A to jest niezgodność typów.
P-18828
1 « 2 »
Poprzednia strona Strona 2 z 2