Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Windows XP - Programm XY hat ein Problem festgestell und ... (https://www.delphipraxis.net/28147-windows-xp-programm-xy-hat-ein-problem-festgestell-und.html)

matz_abg 20. Aug 2004 08:36


Windows XP - Programm XY hat ein Problem festgestell und ...
 
Ich habe ein Miniprogramm geschrieben, das auf 4 verschiedenen Rechnern (NT,Win2K,2*XP) anstandslos funktioniert. Als ich das Programm auf dem Rechner meiner Frau (XP) gestartet habe meldet Windows

Zitat:

Programm XX hat ein Problem festgestellt und muss beendet werden
Mein Programm verwendet neben den Delphi-Standards auch noch Komponenten aus Librarys von LMD (6.11 se) und JediVCL (2.1).

Delphi-Quellcode:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Math, MaskUtils, IniFiles,

  LMDBaseEdit, LMDCustomEdit, LMDCustomMaskEdit, LMDMaskEdit,
  LMDControl, LMDBaseControl, LMDBaseGraphicControl, LMDBaseLabel,
  LMDCustomLabel, LMDLabel, LMDCustomControl, LMDCustomPanel,
  LMDCustomBevelPanel, LMDSimplePanel, LMDEdit, LMDWndProcComponent,
  lmdformA, LMDCustomComponent, LMDOneInstance,

  JvComponent, JvTrayIcon, JvPlacemnt;
Meine Frau ist auf dem Rechner als lokaler Administrator definiert, kann also kein Rechteproblem sein.

Da ich keinen Anhaltspunkt habe warum das Programm nicht gestartet wird bzw. welcher Fehler aufgetreten ist, ist mir jeder Tip willkommen.

Danke
Matthias

angos 20. Aug 2004 08:44

Re: Windows XP - Programm XY hat ein Problem festgestell und
 
Vielleicht handelt es sich bei den XP Rechnern einmal um XP Home und einmal um XP Pro, und die Probleme resultieren daher? Bei XP Home gibts oft Probleme zum Besipiel bei netzwerkfähigen Programmen. Sonst hätte ich leider keine Idee

Treffnix 20. Aug 2004 09:15

Re: Windows XP - Programm XY hat ein Problem festgestell und
 
Es wäre mal interessant zu wissen, was dein Programm ( beim Start ) macht. Glaube eher nicht, dass der Fehler anhand der benutzten Klassen zu finden ist. Ist es möglich, dass du auf irgendwas zugreifst, dass der Rechner deiner Frau nicht hat, z.B. Laufwerke/Ordner/Dateien, Drucker, Schriftarten, Registryeinträge etc. und/oder beim Programmstart Listen oder ähnliches füllst die aufgrund irgendwelcher fehlenden Elemente überlaufen können?

matz_abg 20. Aug 2004 09:23

Re: Windows XP - Programm XY hat ein Problem festgestell und
 
Ich gehe davon aus, das alle XP Rechner mit Professional SP1 ausgerüstet sind (frage das aber noch mal genau nach).

Mein macht nichts weiter, als eine eingegebene Zahl anhand von Prozentsätzen zu verteilen.
Die eingegebene und berechneten Werte werden in einerv INI-Datei gespeichert

Delphi-Quellcode:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Math, MaskUtils, IniFiles,

  LMDBaseEdit, LMDCustomEdit, LMDCustomMaskEdit, LMDMaskEdit,
  LMDControl, LMDBaseControl, LMDBaseGraphicControl, LMDBaseLabel,
  LMDCustomLabel, LMDLabel, LMDCustomControl, LMDCustomPanel,
  LMDCustomBevelPanel, LMDSimplePanel, LMDEdit, LMDWndProcComponent,
  lmdformA, LMDCustomComponent, LMDOneInstance,

  JvComponent, JvTrayIcon, JvPlacemnt;

type
  TForm1 = class(TForm)
    LMDSimplePanel1: TLMDSimplePanel;
    LMDLabel1: TLMDLabel;
    LMDSimplePanel2: TLMDSimplePanel;
    LMDLabel2: TLMDLabel;
    LMDLabel3: TLMDLabel;
    LMDLabel4: TLMDLabel;
    meBetrag: TLMDMaskEdit;
    meProzHS: TLMDMaskEdit;
    meProzRS: TLMDMaskEdit;
    meProzGym: TLMDMaskEdit;
    LMDLabel5: TLMDLabel;
    meBetragHS: TLMDEdit;
    meBetragRS: TLMDEdit;
    meBetragGym: TLMDEdit;
    LMDOneInstance1: TLMDOneInstance;
    JvFormPlacement1: TJvFormPlacement;
    Procedure Calculate(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    sIniFileName : string;
    { Private-Deklarationen }
  public

    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var IniFile : TIniFile;
begin
  sIniFileName  := ExtractFileDir(Application.ExeName)+'/Kostensplitter.ini';

  IniFile       := TIniFile.Create(sIniFileName);
  meBetrag.Text := IniFile.ReadString('APPLICATION','BETRAG', '0');
  meProzHS.Text := IniFile.ReadString('APPLICATION','PROZHS', '15,00');
  meProzRS.Text := IniFile.ReadString('APPLICATION','PROZRS', '40,00');
  meProzGym.Text := IniFile.ReadString('APPLICATION','PROZGYM', '45,00');
  IniFile.Free;
  Calculate(Sender);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var IniFile : TIniFile;
begin
  IniFile := TIniFile.Create(sIniFileName);
  IniFile.WriteString('APPLICATION','BETRAG', meBetrag.Text);
  IniFile.WriteString('APPLICATION','PROZHS', meProzHS.Text);
  IniFile.WriteString('APPLICATION','PROZRS', meProzRS.Text);
  IniFile.WriteString('APPLICATION','PROZGYM', meProzGym.Text);
  IniFile.Free;
end;

Procedure TForm1.Calculate(Sender: TObject);
var Betrag, BetragHS, BetragRS, BetragGym, ProzHS, ProzRS, ProzGym, Diff: Double;
begin
   Betrag := StrToFloat(meBetrag.Text);
   ProzHS := StrToFloat(meProzHS.Text);
   ProzRS := StrToFloat(meProzRS.Text);
   ProzGym := 100 - ProzHS - ProzRS;

   BetragHS := RoundTo(Betrag * (ProzHS / 100),-2);
   BetragRS := RoundTo(Betrag * (ProzRS / 100),-2);
   BetragGym := RoundTo(Betrag * (ProzGym / 100),-2);
   Diff     := Betrag - (BetragHS + BetragRS + BetragGym);
   BetragGym := BetragGym + Diff;

   meProzGym.Text  := FloatToStrF(ProzGym,ffFixed,6,2);
   meBetragHS.Text := FloatToStrF(BetragHS,ffCurrency,12,2);
   meBetragRS.Text := FloatToStrF(BetragRS,ffCurrency,12,2);
   meBetragGym.Text := FloatToStrF(BetragGym,ffCurrency,12,2);

end;

end.

matz_abg 20. Aug 2004 09:39

Re: Windows XP - Programm XY hat ein Problem festgestell und
 
Eins ist mir gerade noch aufgefallen.

Die Komponente JvPlacemnt speichert die Position des Windows in der gleichen Ini-Datei in der auch die Werte gespeichert werden um das Fenster bei einem Neustart an der gleichen Stelle wieder zu plazieren. In der Komponente habe ich nur den Name der Ini-Datei (Kostensplitter.ini) ohne Pfad angegeben, da ich davon ausgegangen bin, dass Programm und Ini-Datei in einem Verzeichnis stehen (so dass das Programm die Datei auch findet).

Christian Seehase 20. Aug 2004 17:51

Re: Windows XP - Programm XY hat ein Problem festgestell und
 
Moin Matthias,

überwache doch mal den Start des Programmes mit RegMon bzw. FileMon (www.sysinternals.com)
Vielleicht gibt Dir das Hinweise auf die Ursache.

Fossibaer58809 20. Aug 2004 17:59

Re: Windows XP - Programm XY hat ein Problem festgestell und
 
Auch mit einer fehlenden Ini- Datei sollte es keine Probleme geben, da diese neu erzeugt wird. Jedoch ist im Quelltrext zu sehen, dass auch die Jedi- Komponenten verwendet werden. Wenn es sich hier um eine ältere Version der Komponenten handelt, kann es mit HT- Prozessoren schon mal zu diesem Fehler kommen (hat 3 Tage suchen gekostet).

Steran 18. Sep 2004 15:48

Re: Windows XP - Programm XY hat ein Problem festgestell und
 
Hi!

Hab diesen Beitrag gerade in der Hilfe gefunden, ist zwar schon älter, aber das Problem ist aktuell (zumindest bei mir).

Ich bin mir ziemlich sicher, dass es an dem JvTrayIcon liegt.

Hab ein Programm mit genau dieser Komponente geschrieben.
Bei 2% läuft das Programm jedoch nicht.
Das Problem taucht nur bei XP-Usern auf.
Auch eine neuinstallation von XP bringt nichts...evtl. liegt es an ner bestimmten Hardware/Treiber.

Bei den meisten Usern, bei denen das Programm nicht läuft, kommt eine Speicherschutzverletzung, bei anderen passiert gar nichts, bzw. nur nach 10maligen doppelklick auf die exe startet das programm *gg*

Ein komplett leeres Projekt startet bei den Usern.
Ein komplett leeres Projekt mit NUR dem JvTrayIcon ruft o.g. Fehler hervor.

Kann sich jemand vorstellen, an welchen Codezeilen im JvTrayIcon das liegen könnte??
bzw. hat schon jmd. ähnliche Erfahrungen gemacht?

danke

Gruß

Steran

Christian Seehase 18. Sep 2004 17:21

Re: Windows XP - Programm XY hat ein Problem festgestell und
 
Moin Steran,

da dürfte es deutlich einfacher sein auf die Kompo zu verzichten, und das ganze "zu Fuss" zu programmieren.
Beispiele müsstest Du hier einige finden können.

Steran 19. Sep 2004 17:59

Re: Windows XP - Programm XY hat ein Problem festgestell und
 
oweija..die Komponente war sooo schön einfach ;-) (vorallem wg. animierter Icons etc.)

Aber das hilft ja dann wohl nicht :-(

Trotzdem danke.

Gruß

Steran


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz