AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Applikation läuft nicht unter Windows7

Applikation läuft nicht unter Windows7

Ein Thema von Carsten1234 · begonnen am 5. Aug 2009 · letzter Beitrag vom 6. Aug 2009
Antwort Antwort
Seite 1 von 2  1 2   
Carsten1234

Registriert seit: 9. Apr 2008
Ort: Vechelde
178 Beiträge
 
Delphi 8 Professional
 
#1

Applikation läuft nicht unter Windows7

  Alt 5. Aug 2009, 09:21
Hallo zusammen,

ich habe mal "spasseshalber" versucht, meine Applikation (ich habe Delphi 2007) unter Windows 7, Build 7100, zum Laufen zu bekommen - leider erfolglos.
Das Programm (Teile des Quelltextes hier) läuft kurz an, dann erfolgt seitens Windows die Meldung "Programm funktioniert nicht. Es wird nach einer Lösung gesucht", dann schliesst sich dieser Dialog wieder und das war es. Keine Fehlermeldung, kein nix. Da ich als Admin auf dem System angemeldet bin, kann es also auch keine Probleme mit Zugriffsrechten geben und auch der Kompatibilitätsmodus bringt keine Abhilfe. Nichts desto trotz läuft mein Programm sowohl unter W2K als auch unter Win XP und Vista (auf allen Systemen getestet).
Ich erstellte eine kl. Applikation mit einem Hauptformular und einem Label und das lief unter Win7.

Daraufhin begann die Ursachenforschung in meinem Programm, indem ich eine temporäre Textdatei erstelle/öffnete und an div. Stellen Eintragungen in diese Textdatei schrieb, um einfach mal zu sehen, wo das Programm aussteigt. So bin ich nun fündig geworden, doch ich habe keine Erklärung dafür, WARUM es an dieser Stelle aussteigt.
Alle meine Unterformulare haben ein gemeinsames Formular namens TBaseForm.

Delphi-Quellcode:
TBaseForm = class(TForm)
  private
    { Private-Deklarationen }
    FSideName : string;
    FPageIdx : integer;
  public
    { Public-Deklarationen }
    constructor Create(AOwner: TComponent; AWinControl: TWinControl;
                       ASideName: string; APageIDX: integer); reintroduce; overload;

    property PageIdx: integer read FPageIdx;
    property SideName: string read FSideName;
  end;

constructor TBaseForm.Create(AOwner: TComponent; AWinControl: TWinControl;
                         ASideName: string; APageIDX: integer);
{$ifdef DEBUG}
var FOut : System.Text;
    IOResult: integer;
{$endif}
begin
{$ifdef DEBUG}
{$I-}
  System.AssignFile(FOut, ExePath + 'appinit.txt');
  System.Append(Fout);
{$I+}
  IOResult:= System.IOResult;
  if (IOResult = 0) then
  begin
    System.Writeln(FOut, 'Step in Constructor BaseForm');
    if (AOwner = nil) or (not Assigned(AOwner)) then
      System.Writeln(FOut, 'AOwner is nil')
    else
      System.Writeln(FOut, 'Set AOwner');
    System.CloseFile(FOut);
  end;
{$endif}
  inherited Create(AOwner);

  Self.Parent:= AWinControl;
  FSideName:= ASideName;
  FPageIdx:= APageIdx;
end;
Delphi-Quellcode:
TMySubForm1 = class(TBaseForm)
(...)
// kein Constructor
end;
Wird TMySubForm1 erstellt, lande ich zwangsläufig im Constructor der BaseForm. Doch wenn hier der/die/das inherited Create aufgerufen wird, steigt mein Programm offensichtlich aus. Nun dachte ich, es könnte ja sein, dass der Owner NIL ist, daher erweiterte ich das ganz um einen try..except Block mit Debugausgabe in die Textdatei, doch der Except-Fall tritt nie ein.


Debugausgabe:
Delphi-Quellcode:
Step in Constructor BaseForm
Set AOwner
Frage: Hat jemand eine Idee, woran es liegen könnte und/oder hatte schon mal ein ähnl. Problem (unter Win7)?

Dank vorab und Gruß, Carsten
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Applikation läuft nicht unter Windows7

  Alt 5. Aug 2009, 09:44
System.AssignFile(FOut, ExePath + 'appinit.txt');

ganz böse!

Niemals Logdateien oder INI Dateien in den Programmordner packen! Aber Vista hats du standardmäßig keine Adminrechte mehr (UAC), also kannst du nicht mehr in den Ordner C:\Programme schreiben.
André
"A programmer is just a tool which converts caffeine into code", daran wirds wohl liegen, dass ich Abends nie pennen kann

Zitat von Luckie:
Nicht nur dass ihr offtopic geworden seid, jetzt werdet ihr selber im Offtopic noch offtopic
  Mit Zitat antworten Zitat
Carsten1234

Registriert seit: 9. Apr 2008
Ort: Vechelde
178 Beiträge
 
Delphi 8 Professional
 
#3

Re: Applikation läuft nicht unter Windows7

  Alt 5. Aug 2009, 09:53
Zitat von MagicAndre1981:
System.AssignFile(FOut, ExePath + 'appinit.txt');

ganz böse!

Niemals Logdateien oder INI Dateien in den Programmordner packen! Aber Vista hats du standardmäßig keine Adminrechte mehr (UAC), also kannst du nicht mehr in den Ordner C:\Programme schreiben.
Ich weiß, aber das ist 1. nur zu Testzwecken und 2. bin ich auf dem System Admin. In der Releaseversion schreibt mein Programm seine Daten nach
TempPath:= SysUtils.GetEnvironmentVariable('temp');
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#4

Re: Applikation läuft nicht unter Windows7

  Alt 5. Aug 2009, 09:58
Zitat von Carsten1234:
Ich weiß, aber das ist 1. nur zu Testzwecken und 2. bin ich auf dem System Admin.
Auch wenn Du Admin bist, hast Du Probleme eine Datei in das Programmverzeichnis zuschrieben bei eingeschalteter UAC.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Applikation läuft nicht unter Windows7

  Alt 5. Aug 2009, 10:02
egal, mit aktivierter UAC wird immer der eingeschränkte Nutzertoken benutzt und du hast damit Standardbenutzerrechte.

Schreib die Logdatei immer in den Temp Ordner und poste mal was da drin steht.
André
"A programmer is just a tool which converts caffeine into code", daran wirds wohl liegen, dass ich Abends nie pennen kann

Zitat von Luckie:
Nicht nur dass ihr offtopic geworden seid, jetzt werdet ihr selber im Offtopic noch offtopic
  Mit Zitat antworten Zitat
Carsten1234

Registriert seit: 9. Apr 2008
Ort: Vechelde
178 Beiträge
 
Delphi 8 Professional
 
#6

Re: Applikation läuft nicht unter Windows7

  Alt 5. Aug 2009, 10:02
Zitat von RWarnecke:
Zitat von Carsten1234:
Ich weiß, aber das ist 1. nur zu Testzwecken und 2. bin ich auf dem System Admin.
Auch wenn Du Admin bist, hast Du Probleme eine Datei in das Programmverzeichnis zuschrieben bei eingeschalteter UAC.
Ok, von mir aus auch das, aber das ist ja nicht Gegenstand des grundsätzlichen Problems da oben.
Hier wird (standardmässig) definitiv nix auf HDD geschrieben und in meiner DEBUG-Anweisung wird die 'appinit.txt' ja erzeugt.
  Mit Zitat antworten Zitat
Carsten1234

Registriert seit: 9. Apr 2008
Ort: Vechelde
178 Beiträge
 
Delphi 8 Professional
 
#7

Re: Applikation läuft nicht unter Windows7

  Alt 5. Aug 2009, 10:05
Zitat von MagicAndre1981:
Schreib die Logdatei immer in den Temp Ordner und poste mal was da drin steht.
Habe ich ja schon da oben:

Step in Constructor BaseForm
Set AOwner

Als nächstes hätte noch stehe müssen:

Set parent
Set sidename
Step out Constructor BaseForm


Doch diese drei Einträge fehlen völlig, das Programm scheint sich also (offensichtlich) beim inherited Create(AOwner) zu verabschieden...

Unter WinXP oder Vista sieht es so aus (für jedes Unterformular):

Step in Constructor BaseForm
Set AOwner
Set parent
Set sidename
Step out Constructor BaseForm

Step in Constructor BaseForm
Set AOwner
Set parent
Set sidename
Step out Constructor BaseForm
  Mit Zitat antworten Zitat
Carsten1234

Registriert seit: 9. Apr 2008
Ort: Vechelde
178 Beiträge
 
Delphi 8 Professional
 
#8

Re: Applikation läuft nicht unter Windows7

  Alt 5. Aug 2009, 10:33
Noch ein Nachtrag zum UAC:
Auf den Programmordner nebst Unterordner haben sowohl die Administratoren als auch die Benutzer der Maschine Vollzugriff (erhalten über Eigenschaften => Sicherheit).
  Mit Zitat antworten Zitat
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Applikation läuft nicht unter Windows7

  Alt 5. Aug 2009, 10:48
OT: Oh oh ... drei Beiträge hintereinander und die Möglichkeit Beiträge zu editieren ist dir auch bekannt. Mach das lieber nicht:
http://www.delphipraxis.net/dpX_faq_...?faq=Q_27#Q_27
Zitat:
Auch wenn die Zeit drängt oder Du in einer Frage noch so gern weiterkommen würdest: Das "Pushen" von Beiträgen wird hier nicht gern gesehen. Das heißt, dass wir es nicht möchten, dass Du einen Nonsense-Beitrag schreibst, nur damit Deine Frage weiter oben in der Liste der aktuellen Themen rangiert. Sollten Dir neue Erkenntnisse gekommen sein, die Du zu Deiner Frage hinzufügen möchtest, dann kannst Du Deinen Beitrag innerhalb von 24 Stunden bearbeiten.

Erst nach Ablauf von 24 Stunden ist es Dir gestattet, mal nachzufragen, ob denn wirklich niemand eine Antwort weiß.
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#10

Re: Applikation läuft nicht unter Windows7

  Alt 5. Aug 2009, 12:54
Kannst du das nicht mal versuchen zu kompilieren?

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  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 +1. Es ist jetzt 11:07 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