Startseite ¦  was ist neu ¦  programmier tips ¦  indy artikel ¦  intraweb artikel ¦  informationen ¦  links ¦  interviews ¦  sonstiges
kylix ¦  tutorials ¦  online shop ¦  fotos ¦  Add&Win Gewinnspiel


Willkommen Gast. Bitte einloggen oder registrieren.
17.05.2012, 03:38:13
Übersicht Hilfe Suche Einloggen Registrieren

+  SwissDelphiCenter Forum
|-+  German Forums
| |-+  Einsteiger Forum
| | |-+  Acces Violation beim RUN
« vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: Acces Violation beim RUN  (Gelesen 1658 mal)
delphi6
Newbie
*
Offline Offline

Beiträge: 31


« am: 17.03.2009, 02:28:33 »

Der Compiler merkt noch kein Fehler beim Code Shellexec()

Die e.. Variablen sind TEdit.text felder auf dem Formular. der Fehler muss mit den PChar() Variablen zu tun haben aber wie. -> Delphi 2007 RAD Version.

....Button.Click()
  ePfad01.text := 'notepad.exe';
  eUser01.Text := '';
  eReg01.text := '';
  ShellExecute(Handle,'open', PChar(ePfad01.text), PChar(eUser01.Text + eReg01.text) , nil, SW_SHOWNORMAL) ;
....


Was ist hier falsch :-(
Gespeichert
grenzgaenger
Global Moderator
Full Member
*****
Offline Offline

Beiträge: 232


« Antworten #1 am: 17.03.2009, 21:59:19 »

eigentlich nix...

hab mal 'n neues projekt angelegt, 'n button draufgezogen... deinen code in das ereignis kopiert... drei TEdits auf das formular und so umbenannt wie bei dir ... und ...

es funktioniert prächtig ... :-)

vielleicht mal den rechner durchstarten, das hilft in aller regel ...

noch 'n schönen abend.
GG

btw: habe D2009 (kein D2007)
Gespeichert
delphi6
Newbie
*
Offline Offline

Beiträge: 31


« Antworten #2 am: 17.03.2009, 22:54:44 »

Habe das Problem gefunden: hatte 3 x ShellExecute(Handle, ...) in meinem Proggie..

Habe den Handle mit: Application.Handle ergänzt. bei jedem weiteren ShellExecute() habe ich Application.Handle um eins erhöht:

ShellExecute(Application.Handle +1, ...) 

ShellExecute(Application.Handle +2, ...)

ShellExecute(Application.Handle +3, ...)
Gespeichert
delphi6
Newbie
*
Offline Offline

Beiträge: 31


« Antworten #3 am: 17.03.2009, 23:42:01 »

Nächstes Problem, ein Programm will unbedingt den Ausführungs Pfad bis vor das EXE mitgegeben haben. Mit Shellexec und ExtractFilePath sieht das so aus:

 ePfad02.text := 'C:\';
  eUser02.Text := '';
  eReg02.text := '';

  ShellExecute(Application.Handle+7,'open', PChar(ePfad02.text), PChar(eUser02.Text + ' ' + eReg02.text) , PChar(ExtractFilePath(ePfad02.text)), SW_SHOWNORMAL) ;

Leider motzt der Compiler Delphi 2007 RAD: Die Anwendung konnte nicht richtig initialisiert werden (0xc0000005). Mit D6 tgabe es diese Probleme weniger ... es muss mit diesem zusätzlichen Parameter welcher das Ausführbare Verzeichnis berechnen soll: PChar(ExtractFilePath(ePfad02.text)) Ohne dies öffnet der Explorer ....
Gespeichert
Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS