|
| ShellExecute og længde af parameter Fra : Esben Piltoft |
Dato : 09-05-01 19:08 |
|
ShellExecute har (desværre) en begrænsning når jeg skal bruge den til at
udføre et DOS program:
Hvis min parameter bliver længere end 80 tegn, så fejler den. Hvis jeg selv
i DOS udfører en fil, er begrænsningen først ved over 120 tegn (over 1½
linie).
**
Kan man omgå denne 80 tegns begrænsning på nogen måde??? (Begrænsningen
står ikke omtalt i Help).
**
Det mest irriterende er at det resulterer i at der bliver åbnet en
DOS-promt - og ingen fejlmeddelelser bliver vist. Så jeg havde spildt det
meste af en time inden jeg fik mistanke om at det var her fejlen var :(
Pft.
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Esben Piltoft E-mail: piltoft@mail1.stofanet.dk
| |
Thomas P (09-05-2001)
| Kommentar Fra : Thomas P |
Dato : 09-05-01 20:05 |
|
Dette var bare en tanke... da shellexecute's hoved-parameter er en Pchar,
burde man så ikke også kunne få denne til at pege til en normal string ?
--
- Thomas
~~~~~~~~
.... http://www.FlowCode.f2s.com - where code flows
.... mailto:blomme@post.com - where email goes
| |
Esben Piltoft (10-05-2001)
| Kommentar Fra : Esben Piltoft |
Dato : 10-05-01 10:34 |
|
> Dette var bare en tanke... da shellexecute's hoved-parameter er en Pchar,
> burde man så ikke også kunne få denne til at pege til en normal string ?
var s:string;
s:='forfærdelig mange tegn der fortsætter længe endnu';
ShellExecute(0, Pchar('Open'), Pchar('Fil.bat'), Pchar(s),
Pchar(GetCurrentDir + '\'), sw_normal)
Nu peges der vel også på en string (hvis det er det der menes med at pege)
?? Og det var der den ikke ville være med.
Men nu omgår jeg den så ved at programmet oprette en bat-fil med halvdelen
af parameterne i, og lader den kalde den fil som jeg oprindelig skulle
kalde. Er oppe på omkring 140 tegn på denne måde :)
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Esben Piltoft E-mail: piltoft@mail1.stofanet.dk
| |
|
|