Harald wrote:
> I windows 98 virker det på denne måde:
> Mit program forsøger at få fat i internet ved at kalde TIdFTP.Connect,
Det er forkert. TIdFTP.Connect skal bruges til at forbinde dit program med
en ftp-server via den allerede forbundne internet opkobling. Der er intet i
TIdFTP, der medfører at der oprettes en internet opkobling.
Det, som du muligvis er stødt ind i, er at Windows kan konfigureres, så der
ringes op til en internet opkobling, hvis et eller andet program forsøger
at lave en såkaldt socket forbindelse. Det ville i så fald kunne betyde, at
Windows aktiverer en opringning når TIdFTP.Connect bliver kaldt - men det
er altså ikke TIdFTP.Connect, der rent faktisk udfører denne opringning -
det er din Windows.
> I windows XP virker det på denne måde:
> Mit program forsøger at få fat i internet ved at kalde TIdFTP.Connect. Der
> kommer ikke noget opkaldsvindue frem men mit program melder øjeblikkelig
> fejl 11004.
Dette skyldes at der ikke blev etableret en internet opkobling før du kaldte
TIdFTP.Connect, og det er helt korrekt, at der returneres en
fejlmeddelelse. Du kan ikke ved indstilling af TIdFTP få den til at opføre
sig anderledes, men du kan muligvis indstille din Windows XP til at ringe
op automatisk, når der er behov for en internet opkobling.
Eller kort:
TIdFTP komponenten kan ikke ringe op til internettet.
Windows kan.
Dit spørgsmål burde hedde:
Min Windows 98 ringer automatisk op til internettet, når jeg skal bruge
internettet. Det gør min Windows XP ikke. Hvordan indstiller jeg min
Windows XP, så den automatisk ringer op?
Og dette spørgsmål er selvflg. fejlplaceret i dette forum.
> Jeg vil mene at det er i mit program der mangler noget da alle andre
> programmer i windows XP ikke har noget problem.
Nej. TIdFTP.Connect ringer ikke op - men det kan da godt være, at din
Windows XP ikke får detekteret, at TIdFTP forsøger at lave en
FTP-forbindelse - men det har igen ikke noget med TIdFTP at gøre.
Hvis du vil sikre dit program mht. at der ringes op, så bør du faktisk først
undersøge, på hvilke systemer, der skal virke. Hvis det kun er på Windows
maskiner, der har Internet Explorer installeret, så er det rimeligt nemt -
så skal du bare sørge for at hente en webside via Internet Explorer API'en
inden du opretter din TIdFTP forbindelse. Det kan du gøre ved at lave et
kald ned i Wininet.dll.
Det bliver noget mere kompliceret, hvis dit system også skal virke på
maskiner, der har flere dial-up muligheder, eller en Windows 95 uden MSIE.
Lars.
--
Freelance programmør
Delphi brugergruppen DAPUG:
http://dapug.dk/
Delphi oversættelsesværktøjer:
http://dxgettext.sf.net/