AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Verrücktes Problem mit Delphi7 und ShellExecute

Verrücktes Problem mit Delphi7 und ShellExecute

Ein Thema von iphi · begonnen am 23. Feb 2016 · letzter Beitrag vom 24. Feb 2016
Antwort Antwort
Seite 1 von 2  1 2   
iphi

Registriert seit: 13. Feb 2009
244 Beiträge
 
Delphi 7 Personal
 
#1

Verrücktes Problem mit Delphi7 und ShellExecute

  Alt 23. Feb 2016, 17:20
Hallo,

ich bin kurz vor dem Verrücktwerden!
Ich versuche etwas zu machen, das ich schon zig mal gemacht habe und bekomme die seltsamsten Fehler.

Hier der Code, ganz einfach:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ShellAPI;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Handle,'open','notepad.exe','', nil, SW_SHOWNORMAL);
end;

end.
Auf Knopfdruck soll der notepad öffnen. Unter der Delphi6 IDE funktioniert das auch.

Unter der Delphi7 IDE compiliert das zwar auch, aber beim ersten Starten liefert die IDE die Fehlermeldung:

Zitat:
Unable to create process: Zugriff verweigert
Bei jedem weiteren Startversuch kommt

Zitat:
Could not find program D:\test\project1.exe
Es wurde aber genau da vom Compiler erzeugt.

Wenn ich die IDE schließe und die exe von Hand starten will, dann kommt

Zitat:
Zugriff verweigert
Löschen kann ich die exe aber.

Wenn ich den ShellExecute auskommentiere, dann läuft alles normal.

Kann sich irgend jemand einen Raum darauf machen???

Geändert von iphi (23. Feb 2016 um 17:26 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.593 Beiträge
 
Delphi 5 Professional
 
#2

AW: Verrücktes Problem mit Delphi7 und ShellExecute

  Alt 23. Feb 2016, 17:31
Verhindert vielleicht dein Virenscanner den Zugriff bzw. das Starten des Delphi-Kompilats?

MfG Dalai
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
710 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: Verrücktes Problem mit Delphi7 und ShellExecute

  Alt 23. Feb 2016, 17:42
Fehlt da nicht auch der Pfad zur notepad.exe?
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.716 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Verrücktes Problem mit Delphi7 und ShellExecute

  Alt 23. Feb 2016, 18:04
Bist du dir sicher dass 'open' das richtige Verb ist? Ich hätte, beim Ausführen von Anwendungen, einfach Nil genommen:
Zitat:
The default verb is used, if available. If not, the "open" verb is used. If neither verb is available, the system uses the first verb listed in the registry.
Analog die Parameter (nach dem 'Notepad.exe'): Auch hier würde ich Nil und keinen leeren String übergeben.

Weiterhin verstehe ich dein "Wenn ich das auskommentiere ..." nicht. Sieht dein Quellcode wirklich so aus wie gezeigt? Ein ShellExecute an sich wirft keine Fehler, sondern gibt nur eine Zahl zurück. Oder hast du es so?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
   if ShellExecute(Handle,'open','notepsd.exe','', nil, SW_SHOWNORMAL) <= 32 then
      RaiseLastOSError();
end;
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#5

AW: Verrücktes Problem mit Delphi7 und ShellExecute

  Alt 23. Feb 2016, 18:23
Prinzipiell sollte der Aufruf in der genannten Form unter Delphi 7 funktionieren.

Zur Fehlereingrenzung:
  1. Programm mit Strg+F9 kompilieren
  2. kurzen Moment warten und unter D:\test\nachschauen, ob das die project1.exe dort vorliegt.
  3. Wenn vorhanden
    • per Doppelklick starten und schauen, ob NotePad gestartet wird.
    • Wird Notepad nicht gestartet prüfen, ob der Virenscanner einen Alarm gemeldet hat...
  4. Wenn nicht vorhanden
    • prüfen, ob der Virenscanner einen Alarm gemeldet hat, das Programm in die Quarantäne verschoben hat...
    • Ist dem so, dass Ausgabeverzeichnis von Delphi vom Virenscanner nicht überwachen lassen.
Ansonsten:
  • Wie von Günther vorgeschlagen, den Rückgabewert von ShellExecute abfragen und im Programm entsprechend reagieren.
  • Da es bei Programmen, die mit Delphi 7 erstellt werden, ab und an von Virenscannern (zumindest bei Avira ist das so) Fehlalarme geben kann, habe ich bei mir das Ausgabeverzeichnis für die Exen aus der Überwachung durch den Virenscanner herausgenommen.
  Mit Zitat antworten Zitat
iphi

Registriert seit: 13. Feb 2009
244 Beiträge
 
Delphi 7 Personal
 
#6

AW: Verrücktes Problem mit Delphi7 und ShellExecute

  Alt 23. Feb 2016, 18:46
Tatsächlich. Der Avira Professional Virenscanner blockiert das Exe, sobald es erzeugt wird.
Eine Meldung kommt aber nicht!
Wenn er deaktiviert ist, dann gehts. Was kann man denn dagegen machen?
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.593 Beiträge
 
Delphi 5 Professional
 
#7

AW: Verrücktes Problem mit Delphi7 und ShellExecute

  Alt 23. Feb 2016, 18:49
Was kann man denn dagegen machen?
Whitelisten, wie bereits gesagt wurde. Möglicherweise kann es helfen, ein Sample an Avira zu schicken, damit die das aus ihren Signaturen nehmen bzw. selbige anpassen. Von Avast kenne ich es aber so, dass man das sehr oft machen muss, bevor die ihren Krempel auf die Reihe bringen und keine uralten Programme mehr als False Positive erkannt werden.

MfG Dalai
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#8

AW: Verrücktes Problem mit Delphi7 und ShellExecute

  Alt 23. Feb 2016, 19:16
Tatsächlich. Der Avira Professional Virenscanner blockiert das Exe, sobald es erzeugt wird.
Eine Meldung kommt aber nicht!
Wenn er deaktiviert ist, dann gehts. Was kann man denn dagegen machen?
In der Konfiguration von AVira: (Taste F8)

Unter
  • PC-Sicherheit
  • Echtzeit-Scanner
  • Scan
  • Ausnahmen
  • Vom Echtzeit-Scanner auszulassende Dateiobjekt
    • Im Eingabefeld D:\Test\ eintragen
    • Button "Hinzufügen" betätigen
  • Button "Übernehmen" klicken und testen, ob das Problem weg ist.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
8.095 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Verrücktes Problem mit Delphi7 und ShellExecute

  Alt 23. Feb 2016, 19:58
Wer Delphi nutzt, für den ist Avira definitv der falsche Virenscanner. False Positives gibt es dort seit gefühlt 10 Jahren in Zusammenhang mit Delphi immer und immer wieder (genau kann ich das zeitlich gar nicht einordnen). Ich habe schon sicher dutzende Samples eingeschickt, es ist auch etwas besser geworden, aber an einer echten Lösung scheint dort niemand Interesse zu haben.

Ich kann nur raten einen anderen Virenscanner zu nutzen, es gibt genügend wirklich gute...
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
640 Beiträge
 
Delphi 10.1 Berlin Professional
 
#10

AW: Verrücktes Problem mit Delphi7 und ShellExecute

  Alt 23. Feb 2016, 20:14
Wer Delphi nutzt, für den ist Avira definitv der falsche Virenscanner...
+1 Das Problem ist, dass Avira auch bei Kunden öfter anschlägt, ohne Grund. Dagegen hilft dann nur noch signieren, dann wird es weniger, aber ganz auf null geht es leider nicht zurück. Avira ist ein Sche...
Gruss Otto
Wenn du mit Gott reden willst, dann bete.
Wenn du ihn treffen willst, schreib bei Tempo 220 eine SMS
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 +2. Es ist jetzt 19:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf