Avatar billede akempff Nybegynder
03. februar 2004 - 22:19 Der er 6 kommentarer og
1 løsning

ShellExecute åbner kørselsbiblioteket

Hej eksperter.

Jeg har lidt problemer med en shellexecute.
Koden ser sådan her ud:

int result =(int)ShellExecute(0, "open",
  Link.c:str(), NULL, NULL,
  SW_SHOWNORMAL);
if (result <= 32)
  ShowMessage("Unable to start web browser.");


Problemet er at det er kørselsbiblioteket der bliver åbnet, på trods af at URLen i Link er korrekt.

Jeg har tidligere brugt samme kode succesfuldt med en konstant sti (f.eks. "http://www.eksperten.dk") og der virker det uden problemer.

Så problemet ligger jo nok i min Link som i øvrigt er AnsiString.

Håber der er nogen der kan komme med lidt alternative løsninger.
Jeg har iøvrigt prøvet at lave Link til et array af chars for at slippe på for c_str, men det var med samme resultat.
Avatar billede akempff Nybegynder
03. februar 2004 - 22:20 #1
hov...skal lige sige at Link.c:str() selvfølgelig er Link.c_str()
Avatar billede jakobdo Ekspert
04. februar 2004 - 09:52 #2
Prøv at udskriv Link, og se om den indeholder det rigtige...
Prøv dette:
ShellExecute(NULL, NULL, Link.c_str(), NULL, NULL, SW_SHOWNORMAL);
Avatar billede akempff Nybegynder
04. februar 2004 - 12:24 #3
OK...nogen gange kan man bare ikke se probelemet før dagen efter og efter et fornuftigt fingerpeg.

Jeg havde testet på link, lige efter jeg havde udfyldt (bliver hentet fra en base), derfor gik jeg ud fra at link var fyldt.  Men efter dit råd her, dobbeltjekkede jeg selvfølgelig. Link = tom.

Da jeg så lige kigger alle funktioner igennem, så havde jeg kopieret erklæringerne ned i funktionen således jeg kunne huske hvad variablerne her, men glemt udkommentere og slette dem igen. Så den link der blev udfyldt og som jeg havde tjekket på, var en lokal variabel.

Nu virker det hele. :)
Avatar billede akempff Nybegynder
04. februar 2004 - 12:27 #4
Hov læg lige et svar så jeg kan give dig nogle points.
Avatar billede jakobdo Ekspert
04. februar 2004 - 12:32 #5
Svar... :o)
Avatar billede akempff Nybegynder
04. februar 2004 - 14:12 #6
Jeg har prøvet at accepterer svaret, men den står stadig med gult flag ude i c++ kategorien. Så læg lige et svar til hvis ikke det bliver opdateret.
Avatar billede akempff Nybegynder
04. februar 2004 - 14:13 #7
Sådan.  Tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester