AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi CreateProcess mit String BDS2009
Thema durchsuchen
Ansicht
Themen-Optionen

CreateProcess mit String BDS2009

Ein Thema von Pro_RJ · begonnen am 16. Okt 2011 · letzter Beitrag vom 16. Okt 2011
 
Pro_RJ

Registriert seit: 16. Apr 2008
146 Beiträge
 
#1

CreateProcess mit String BDS2009

  Alt 16. Okt 2011, 22:14
Guten Abend,
Ich versuche mich gerade an den ersten Schritte im BDS 2009.
Ich versuche seit 2 Tagen die "einfache" Procedure CreateProcess aufzurufen
um, Testweise,ein Bild aufzurufen.
Ich habe es bereits mit Diversen Tutorials Probiert, aber ich komme immer zum gleichen Ergebiss:
1. " die Datei '%1' ist keine gültige Win32 Anwendung"
oder
2. "Die Datei wurde nicht gefunden."

Ich habe es bereits mit dieversen Datentypen versucht (String,Ansistring,Widestring) aber die Datei wird einfach nicht aufgerufen.

Konnte mir bitte jemand sage, wo ich hier den Fehler habe?

Ich gebe auch offen zu, das ich die Umstellung von BDs2006 - BDS2009 von den Stringtypen noch nicht verstanden habe.Ich kämpfe micht zwar schon seit gut ner woche durch diverse Umstellungs-Tips und Anleitungen aber erfolgreich umsetzen konnte ich es noch nicht.


Ich verwende Folgenden Code
BDS 2006 --> Funktioniert Problem los

Delphi-Quellcode:
var StartupInfo: TStartupInfo;
begin
  FillChar(StartupInfo, SizeOf(StartupInfo), #0);
  StartupInfo.cb := SizeOf(StartupInfo);
  StartupInfo.dwFlags := STARTF_USESIZE;
  StartupInfo.wShowWindow := SHOW_OPENWINDOW;
  // Erzeugen
  //===============================================
  if CreateProcess(NIL ,
// PChar(Parameter),
                   PChar('C:\Test1\Tulips.jpg'),
                   nil,
                   nil,
                   False,
                   SW_HIDE,
// SW_NORMAL,
// CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,
                   nil,
                   nil,
                   StartupInfo,
                   Result) then
  begin
// Result := Result.dwProcessId;
    if Wait then ProcessWarten(Result);
  end;
// if Result.hProcess <> 0 then CloseHandle(Result.hProcess);
// if Result.hThread <> 0 then CloseHandle(Result.hThread);
end;
Angepasst an BDS 2009 --> klappt nicht
Delphi-Quellcode:
var StartupInfo: TStartupInfo;
    ProcessInfo: TProcessInformation;
    PFad : String;
    aa : PCHar;
begin
  FillChar(StartupInfo, SizeOf(StartupInfo), #0);
  FillChar(ProcessInfo,SizeOf(TProcessInformation),0);
  StartupInfo.cb := SizeOf(StartupInfo);
  StartupInfo.dwFlags := STARTF_USESIZE;
  StartupInfo.wShowWindow := SHOW_OPENWINDOW;

  PFad := 'C:\Test1\Tulips.jpg';
  aa := PCHar(Pfad);
  // Erzeugen
  //===============================================
  if CreateProcess(NIL ,
// PChar(Parameter),
                   @pfad,
                   nil,
                   nil,
                   False,
                   SW_HIDE,
// SW_NORMAL,
// CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,
                   nil,
                   nil,
                   StartupInfo,
                   ProcessInfo) then
  begin
  end
  else
  Begin
    Showmessage(SysErrorMessage(GetLastError))

  End;
end;

schonmal vielen Dank für die Hilfe

Geändert von Pro_RJ (16. Okt 2011 um 22:16 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz