![]() |
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:
Delphi-Quellcode:
Meine Frau ist auf dem Rechner als lokaler Administrator definiert, kann also kein Rechteproblem sein.
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; Da ich keinen Anhaltspunkt habe warum das Programm nicht gestartet wird bzw. welcher Fehler aufgetreten ist, ist mir jeder Tip willkommen. Danke Matthias |
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
|
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?
|
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. |
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). |
Re: Windows XP - Programm XY hat ein Problem festgestell und
Moin Matthias,
überwache doch mal den Start des Programmes mit RegMon bzw. FileMon ( ![]() Vielleicht gibt Dir das Hinweise auf die Ursache. |
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).
|
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 |
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. |
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