bonjour pouvez vous m'aidez svp
pouvez vous me dire comment faire pour attacher un programme dans mon programme realisé avec delphi
je vous remercié infiniment
Une bonne adresse pour trouver de l'aide concernant DELPHI :
http://www.developpez.net/forums/forumdisplay.php?f=15
merci JJa mais dans ce liens on trouve different probléme de delphi mais je ne pense pas que je trouve la solution de mon probléme
si vous connaissez une procedure qui permete de jointe ce fiché au programme
merci beaucoup
Pourrais-tu préciser ta question ?
S'agit-il, dans ton application, de lancer l'exécution d'une autre application ? Dans ce cas, regarde dans l'aide sur le mot ShellExecute ou bien WinExecAndWait32 (dans les API)
S'agit-il d'utiliser une bibliothèque externe dll ? Dans ce cas, il faut déclarer les routines (functions ou procedures) "external".
bonjour patrice rabiller merci de m'avoir répondu
je suis un débutant en delphi je ne sais pas comment chercher cette fonction et comment la declarer pouvez vous me précisé svp
merci beaucoup
La fonction WinExecAndWait32 ne fait pas partie des API. J'ai retrouvé un exemple d'utilisation. Il s'agit de lancer l'exécution de l'application "WordPad" pour ouvrir un document texte. Je ne suis pas sûr que c'est ce que tu cherches ...
function WinExecAndWait32(FileName:String; Visibility : integer):dword;
var
zAppName:array[0..512] of char;
zCurDir:array[0..255] of char;
WorkDir:String;
StartupInfo:TStartupInfo;
ProcessInfo:TProcessInformation;
begin
StrPCopy(zAppName,FileName);
GetDir(0,WorkDir);
StrPCopy(zCurDir,WorkDir);
FillChar(StartupInfo,Sizeof(StartupInfo),#0);
StartupInfo.cb := Sizeof(StartupInfo);
StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := Visibility;
if not CreateProcess(nil,
zAppName, { pointer to command line string }
nil, { pointer to process security attributes }
nil, { pointer to thread security attributes }
false, { handle inheritance flag }
CREATE_NEW_CONSOLE or { creation flags }
NORMAL_PRIORITY_CLASS,
nil, { pointer to new environment block }
nil, { pointer to current directory name }
StartupInfo, { pointer to STARTUPINFO }
ProcessInfo) then Result := 1 { pointer to PROCESS_INF }
else begin
WaitforSingleObject(ProcessInfo.hProcess,INFINITE);
GetExitCodeProcess(ProcessInfo.hProcess,Result);
end;
end;
procedure TfmLabo.Ouvrirlalettretype1Click(Sender: TObject);
var n : integer;
begin
n:=WinExecAndWait32('c:\program files\accessoires\wordpad.exe '+chemin+'\devis.rtf',1);
if n=1 then showmessage('Le fichier "WordPad.exe" est introuvable dans le répertoire'+chr(13)+
'C:\Program files\Accessoires\ ...' );
end;
Oui, il suffit de mettre la fonction WinExeAndWait32 avant la procedure qui l'appellera. Il est inutile de la déclarer dans la partie Interfae sauf si tu veux que ce soit une fonction "publique" qui puisse être appelée par d'autres unités...
Dans mon exemple, la fonction WinExecAndWait32 est appelée par un clic sur un bouton nommé "OuvrirLaLettreType1" : cette procédure est automatiquement déclarée dans la partie interface.
Encore une fois, je ne suis pas sûr que c'est bien ce que tu cherchais
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :