IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi .NET Discussion :

Executer une application sur la page web


Sujet :

Delphi .NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 14
    Points : 6
    Points
    6
    Par défaut Executer une application sur la page web
    Bonjour à tous,
    je voudrais executer un application sur le serveur à partir d'une page web.
    voilà comment j'ai procédé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm.LinkButton3_Click(sender: System.Object; e: System.EventArgs);
    begin
    Shellexecute(0, 'open', 'repertoire\nomdefichier.jar', nil,nil, scshow);
    end;
    lorsque je compile, je reçoi le message d'erreur:
    aucune version surchargée de ShellExecute ne peut être appelée par ces arguements
    Avez vous une idée de quoi il s'agit? sinon, avez vous un autre moyen pour executer une application à partir d'une page web?

    j'ai Delphi8.net

    Merci d'avance pour toute aide

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Le dernier paramètre que tu passes me semble invalide, cela devrait être SW_SHOWNORMAL définit dans windows.pas.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Non, il est correct. defini dans ExtActns.pas
    j'ai essayé l'autre, toujours le même message! ça commence à me gonfler

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Fais un CTRL + clic sur ShellExecute et tu devrais arriver à la définition de la fonction (dans windows.pas normalement). Copie-nous ici la définition de cette méthode.

    Et je confirme que c'est bien une constante SW_XXX définies dans windows.pas, celle que tu cites n'as strictement rien à voir.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    voici le ShellExecute:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,
      Directory: string; ShowCmd: Integer): HINST; external;
    [DllImport(shell32, CharSet = CharSet.Auto, SetLastError = True, EntryPoint = 'ShellExecute')]
    Oui, je confirme aussi que la constante SW_XXX est definie dans windows.pas, ce que j'ai cité devrait marcher aussi et c'est une constante dans ExtActns.pas. de toute façon, même avec les constante windows, cela ne marche pas.

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Ce n'est pas parce que les constantes sont de types équivalant (souvent des integer) qu'ils sont pour autant égaux sémantiquement et surtout au niveau de la valeur de leur constante.

    Comment pouvez-vous être sûr que scshow porte la même valeur que SW_SHOWNORMAL ? Et même d'un point de vue sémantique, les constantes SW_XXX sont faites pour travailler de paire avec ShellExecute, scshow ne fonctionne que pour la classe TCustomFileRun (qui d'ailleurs fais une conversion de scshow vers SW_SHOW).

    Quoi qu'il en soit, le problème ici est que dans sa version .NET, la déclaration de ShellExecute n'utilise plus de pointeurs sur chaînes mais des chaînes tout court.

    L'appel doit donc devenir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shellexecute(0, 'open', 'repertoire\nomdefichier.jar', '', '', SW_SHOW);
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Merci pour la reponse
    ça compile, mais ça execute rien derière
    je vais voir dans le retour de la fonction
    Merci pour la clairfication concernant SW_show et scwhow

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 14
    Points : 6
    Points
    6
    Par défaut ça execute mais n'ouvre pas!
    Me voilà je reviens au sujet aprés plusieurs tentaives non reussites.
    avec cet procedure, NotePad s'execute mais ça n'ouvre pas le fichier test.txt
    qqun aurait une idée sur la raison pour laquele mon fichier ne s'ouvre pas?
    Merci d'avance
    J'utilise tjrs Delphi8.net

    procedure Twebform1.executeshell_proc;
    var
    programme, fichier: string;

    begin
    programme:= 'C:\WINDOWS\notepad.exe';
    fichier:= 'C:\test.txt';
    Shellexecute(0, 'open', programme, fichier ,' ', SW_SHOWnormal);
    end;

Discussions similaires

  1. Intégration d'une application sur un serveur web
    Par fhmayn dans le forum Autres hébergeurs
    Réponses: 2
    Dernier message: 20/04/2009, 14h17
  2. Réponses: 0
    Dernier message: 01/04/2009, 19h29
  3. Recuperer les valeur d'une listbox sur un page web
    Par will97 dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 02/03/2009, 04h39
  4. Afficher une donnée sur la page web avec une fonction javascript
    Par Djaiffe dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/01/2008, 00h05
  5. Charger une image sur la page web
    Par gregbart dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/03/2006, 18h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo