AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Windows meldet jedesmal einen Fehler ->nicht ausführbar
Thema durchsuchen
Ansicht
Themen-Optionen

Windows meldet jedesmal einen Fehler ->nicht ausführbar

Ein Thema von ppirokke · begonnen am 15. Nov 2005 · letzter Beitrag vom 15. Nov 2005
Antwort Antwort
ppirokke

Registriert seit: 25. Mai 2004
Ort: Simmern
16 Beiträge
 
#1

Windows meldet jedesmal einen Fehler ->nicht ausführbar

  Alt 15. Nov 2005, 14:33
Ich hab ein relative simples Programm geschrieben was lediglich ini-dateien benutzt. Ich selber habe Windows XP professional und habe es in ner zip-datei an freunde geschickt aber diese können es nicht ausführen obwohl sie ebenfalls windows xp haben. Jedesmal kommt dort dass das Programm beendet werden muss weil ein Fehler auftrat, bei mir läuft es jedoch einwandfrei. Habt ihr eine Lösung dazu? Hie noch der Quellcode (ist auf die schnelle entstanden also nicht gerade optimiert (; ):

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, StdCtrls, ComCtrls, inifiles, MPlayer, Grids;

type
  TForm1 = class(TForm)
    Label21: TLabel;
    Label23: TLabel;
    Timer1: TTimer;
    Label26: TLabel;
    Timer2: TTimer;
    MediaPlayer1: TMediaPlayer;
    PageControl1: TPageControl;
    Eingaben: TTabSheet;
    Felder: TTabSheet;
    Dorf: TTabSheet;
    Wecker: TTabSheet;
    GroupBox1: TGroupBox;
    Image6: TImage;
    Image7: TImage;
    Image8: TImage;
    Image9: TImage;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Eingabe: TGroupBox;
    Image2: TImage;
    Image4: TImage;
    Image1: TImage;
    Image3: TImage;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Image10: TImage;
    Image11: TImage;
    Image12: TImage;
    Image13: TImage;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    Label13: TLabel;
    TrackBar1: TTrackBar;
    Label9: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label10: TLabel;
    GroupBox2: TGroupBox;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Button1: TButton;
    Button2: TButton;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    Label28: TLabel;
    Label27: TLabel;
    Button3: TButton;
    Label24: TLabel;
    Label25: TLabel;
    Label29: TLabel;
    Panel1: TPanel;
    Image5: TImage;
    Panel2: TPanel;
    Image15: TImage;
    Panel3: TPanel;
    Image14: TImage;
    StringGrid1: TStringGrid;
    Button4: TButton;
    Image16: TImage;
    Label22: TLabel;
    ComboBox3: TComboBox;
    TrackBar2: TTrackBar;
    Label30: TLabel;
    Label31: TLabel;
    Label32: TLabel;
    Label33: TLabel;
    GroupBox3: TGroupBox;
    Label34: TLabel;
    Label35: TLabel;
    Label36: TLabel;
    Label37: TLabel;
    Label38: TLabel;
    Label39: TLabel;
    Label40: TLabel;
    Label41: TLabel;
    Label42: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure ImageChange(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  bst_H, bst_L, bst_E, bst_G: integer;
  zt_H, zt_L, zt_E, zt_G: integer;
  pro_H, pro_L, pro_E, pro_G: real;

  lvl, dauer, ende_min, ende_h, ende_day: integer;
  produkt, zeit, zeit_min, zeit_save: string;
  ini: TIniFile;
implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject); //Daten einlesen
begin
zeit_save:=zeit_min;
if RadioButton1.checked=true then produkt:='Lehm';
if RadioButton2.checked=true then produkt:='Holz';
if RadioButton3.checked=true then produkt:='Getreide';
if RadioButton4.checked=true then produkt:='Eisen';

lvl:=TrackBar1.Position;
                                                                                //Bestand
bst_H:=StrToInt(Edit5.text);
bst_L:=StrToInt(Edit6.text);
bst_E:=StrToInt(Edit7.text);
bst_G:=StrToInt(Edit8.text);
                                                                                //Produktion
pro_H:=StrToFloat(Edit1.text);
pro_L:=StrToFloat(Edit2.text);
pro_E:=StrToFloat(Edit3.text);
pro_G:=StrToFloat(Edit4.text);

ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'werte.ini');

ini.WriteInteger('values','bst_H',bst_H);
ini.WriteInteger('values','bst_L',bst_L);
ini.WriteInteger('values','bst_E',bst_E);
ini.WriteInteger('values','bst_G',bst_G);
ini.WriteInteger('values','pro_H',StrToInt(Edit1.text));
ini.WriteInteger('values','pro_L',StrToInt(Edit2.text));
ini.WriteInteger('values','pro_E',StrToInt(Edit3.text));
ini.WriteInteger('values','pro_G',StrToInt(Edit4.text));
ini.free;

if produkt='Holzthen //"Holz" StringBelegung
 begin
  StringGrid1.Cells[1,1]:='40';
  StringGrid1.Cells[2,1]:='100';
  StringGrid1.Cells[3,1]:='50';
  StringGrid1.Cells[4,1]:='60';
.
.
.
  StringGrid1.Cells[1,10]:='4040';
  StringGrid1.Cells[2,10]:='10105';
  StringGrid1.Cells[3,10]:='5050';
  StringGrid1.Cells[4,10]:='6060';

 end;

if produkt='Lehmthen //"Holz" StringBelegung
 begin
  StringGrid1.Cells[1,1]:='80';
  StringGrid1.Cells[2,1]:='40';
  StringGrid1.Cells[3,1]:='80';
  StringGrid1.Cells[4,1]:='50';
.
.
.
  StringGrid1.Cells[1,10]:='8080';
  StringGrid1.Cells[2,10]:='4040';
  StringGrid1.Cells[3,10]:='8080';
  StringGrid1.Cells[4,10]:='5050';

 end;

if produkt='Getreidethen //"Holz" StringBelegung
 begin
  StringGrid1.Cells[1,1]:='70';
  StringGrid1.Cells[2,1]:='90';
  StringGrid1.Cells[3,1]:='70';
  StringGrid1.Cells[4,1]:='20';
.
.
.
  StringGrid1.Cells[1,10]:='7070';
  StringGrid1.Cells[2,10]:='9095';
  StringGrid1.Cells[3,10]:='7070';
  StringGrid1.Cells[4,10]:='2020';

 end;

if produkt='Eisenthen //"Holz" StringBelegung
 begin
  StringGrid1.Cells[1,1]:='100';
  StringGrid1.Cells[2,1]:='80';
  StringGrid1.Cells[3,1]:='30';
  StringGrid1.Cells[4,1]:='60';
.
.
.
  StringGrid1.Cells[1,10]:='10105';
  StringGrid1.Cells[2,10]:='8080';
  StringGrid1.Cells[3,10]:='3030';
  StringGrid1.Cells[4,10]:='6060';

 end;


bst_H:=bst_H-StrToInt(StringGrid1.cells[1,lvl]);
bst_L:=bst_L-StrToInt(StringGrid1.cells[2,lvl]);
bst_E:=bst_E-StrToInt(StringGrid1.cells[3,lvl]);
bst_G:=bst_G-StrToInt(StringGrid1.cells[4,lvl]);

pro_H:=pro_H/60; //h -> min
pro_L:=pro_L/60;
pro_E:=pro_E/60;
pro_G:=pro_G/60;
zt_H:=Round(bst_H/pro_H)*(-1); //Defizitszeit (positiv)
zt_L:=Round(bst_L/pro_L)*(-1);
zt_E:=Round(bst_E/pro_E)*(-1);
zt_G:=Round(bst_G/pro_G)*(-1);
                                                                            //**Größtes Defizit bestimmen**
if (zt_H>=zt_L) AND (zt_H>=zt_E) AND (zt_H>=zt_G) //Holz
 then begin
       Label14.caption:=IntToStr(zt_H)+' Minuten';
       Label15.caption:='('+FloatToStr(bst_H)+' Defizit an Holz)';
       Label17.caption:= IntToStr(zt_H div 60);
       Label18.caption:= IntToStr(zt_H-(60*(zt_H div 60)));
      end;
if (zt_L>=zt_H) AND (zt_L>=zt_E) AND (zt_L>=zt_G) //Lehm
 then begin
       Label14.caption:=IntToStr(zt_L)+' Minuten';
       Label15.caption:='('+FloatToStr(bst_L)+' Defizit an Lehm)';
       Label17.caption:= IntToStr(zt_L div 60);
       Label18.caption:= IntToStr(zt_L-(60*(zt_L div 60)));
      end;
if (zt_E>=zt_H) AND (zt_E>=zt_L) AND (zt_E>=zt_G) //Eisen
 then begin
       Label14.caption:=IntToStr(zt_E)+' Minuten';
       Label15.caption:='('+FloatToStr(bst_E)+' Defizit an Eisen)';
       Label17.caption:= IntToStr(zt_E div 60);
       Label18.caption:= IntToStr(zt_E-(60*(zt_E div 60)));
      end;
if (zt_G>=zt_H) AND (zt_G>=zt_L) AND (zt_G>=zt_E) //Getreide
 then begin
       Label14.caption:=IntToStr(zt_G)+' Minuten';
       Label15.caption:='('+FloatToStr(bst_G)+' Defizit an Getreide)';
       Label17.caption:= IntToStr(zt_G div 60);
       Label18.caption:= IntToStr(zt_G-(60*(zt_G div 60)));
      end;

ende_min:=StrToInt(copy(TimeToStr(Now), 4, 2))+StrToInt(Label18.caption); //Endzeitberechnung
ende_h:=StrToInt(copy(TimeToStr(Now), 0, 2))+StrToInt(Label17.caption);

while ende_min > 59 do
 begin
  ende_min:=ende_min-60;
  ende_h:=ende_h+1;
 end;

while ende_h > 24 do
 begin
  ende_h:=ende_h-24;
  ende_day:=ende_day+1;
 end;



if (ende_h>0) AND (ende_min>0) then
begin
Label24.Caption:='um '+IntToStr(ende_h)+':'+IntToStr(ende_min)+':0';
Label25.Caption:='kann ausgebaut werden';
end;

if ende_day>0 then Label26.caption:='(in '+IntToStr(ende_day)+' Tagen)'
              else Label26.caption:='';


end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Form2.Visible:=true;
end;


procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label23.caption:=TimeToStr(Now);
end;

procedure TForm1.FormCreate(Sender: TObject); // Werte aus INI lesen
var k:integer;
begin

StringGrid1.cells[0,0]:='Level';
for k:=1 to 20 do StringGrid1.Cells[0,k]:=IntToStr(k);
StringGrid1.cells[1,0]:='Holz';
StringGrid1.cells[2,0]:='Lehm';
StringGrid1.cells[3,0]:='Eisen';
StringGrid1.cells[4,0]:='Getreide';

ende_day:=0;
ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'werte.ini');

Edit5.Text:= IntToStr(ini.ReadInteger('values','bst_H',0));
Edit6.Text:= IntToStr(ini.ReadInteger('values','bst_L',0));
Edit7.Text:= IntToStr(ini.ReadInteger('values','bst_E',0));
Edit8.Text:= IntToStr(ini.ReadInteger('values','bst_G',0));
Edit1.Text:= IntToStr(ini.ReadInteger('values','pro_H',0));
Edit2.Text:= IntToStr(ini.ReadInteger('values','pro_L',0));
Edit3.Text:= IntToStr(ini.ReadInteger('values','pro_E',0));
Edit4.Text:= IntToStr(ini.ReadInteger('values','pro_G',0));

ini.free;

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Timer2.Enabled:=true;
Label29.Caption:='[aktiviert]';
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin

if TimeToStr(Now)=Combobox1.text+':'+ComboBox2.text+':00'
 then begin
        Label29.caption:='';
        MediaPlayer1.Play;
      end;
end;

procedure TForm1.ImageChange(Sender: TObject);
begin
Image16.Picture.LoadFromFile('pics\'+Combobox3.text+'.jpg');
Label22.Caption:=Combobox3.Text;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
zeit_save:=zeit_min;
produkt:=ComboBox3.Text;

lvl:=TrackBar2.Position;
                                                                                //Bestand
bst_H:=StrToInt(Edit5.text);
bst_L:=StrToInt(Edit6.text);
bst_E:=StrToInt(Edit7.text);
bst_G:=StrToInt(Edit8.text);
                                                                                //Produktion
pro_H:=StrToFloat(Edit1.text);
pro_L:=StrToFloat(Edit2.text);
pro_E:=StrToFloat(Edit3.text);
pro_G:=StrToFloat(Edit4.text);

ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'werte.ini');

ini.WriteInteger('values','bst_H',bst_H);
ini.WriteInteger('values','bst_L',bst_L);
ini.WriteInteger('values','bst_E',bst_E);
ini.WriteInteger('values','bst_G',bst_G);
ini.WriteInteger('values','pro_H',StrToInt(Edit1.text));
ini.WriteInteger('values','pro_L',StrToInt(Edit2.text));
ini.WriteInteger('values','pro_E',StrToInt(Edit3.text));
ini.WriteInteger('values','pro_G',StrToInt(Edit4.text));
ini.free;

if produkt='Akademiethen //"Holz" StringBelegung
 begin
  StringGrid1.Cells[1,1]:='220';
  StringGrid1.Cells[2,1]:='160';
  StringGrid1.Cells[3,1]:='90';
  StringGrid1.Cells[4,1]:='40';
.
.
.
  StringGrid1.Cells[1,20]:='23955';
  StringGrid1.Cells[2,20]:='17420';
  StringGrid1.Cells[3,20]:='9800';
  StringGrid1.Cells[4,20]:='4355';

 end;


bst_H:=bst_H-StrToInt(StringGrid1.cells[1,lvl]);
bst_L:=bst_L-StrToInt(StringGrid1.cells[2,lvl]);
bst_E:=bst_E-StrToInt(StringGrid1.cells[3,lvl]);
bst_G:=bst_G-StrToInt(StringGrid1.cells[4,lvl]);

pro_H:=pro_H/60; //h -> min
pro_L:=pro_L/60;
pro_E:=pro_E/60;
pro_G:=pro_G/60;
zt_H:=Round(bst_H/pro_H)*(-1); //Defizitszeit (positiv)
zt_L:=Round(bst_L/pro_L)*(-1);
zt_E:=Round(bst_E/pro_E)*(-1);
zt_G:=Round(bst_G/pro_G)*(-1);
                                                                            //**Größtes Defizit bestimmen**
if (zt_H>=zt_L) AND (zt_H>=zt_E) AND (zt_H>=zt_G) //Holz
 then begin
       Label34.caption:=IntToStr(zt_H)+' Minuten';
       Label35.caption:='('+FloatToStr(bst_H)+' Defizit an Holz)';
       Label37.caption:= IntToStr(zt_H div 60);
       Label38.caption:= IntToStr(zt_H-(60*(zt_H div 60)));
      end;
if (zt_L>=zt_H) AND (zt_L>=zt_E) AND (zt_L>=zt_G) //Lehm
 then begin
       Label34.caption:=IntToStr(zt_L)+' Minuten';
       Label35.caption:='('+FloatToStr(bst_L)+' Defizit an Lehm)';
       Label37.caption:= IntToStr(zt_L div 60);
       Label38.caption:= IntToStr(zt_L-(60*(zt_L div 60)));
      end;
if (zt_E>=zt_H) AND (zt_E>=zt_L) AND (zt_E>=zt_G) //Eisen
 then begin
       Label34.caption:=IntToStr(zt_E)+' Minuten';
       Label35.caption:='('+FloatToStr(bst_E)+' Defizit an Eisen)';
       Label37.caption:= IntToStr(zt_E div 60);
       Label38.caption:= IntToStr(zt_E-(60*(zt_E div 60)));
      end;
if (zt_G>=zt_H) AND (zt_G>=zt_L) AND (zt_G>=zt_E) //Getreide
 then begin
       Label34.caption:=IntToStr(zt_G)+' Minuten';
       Label35.caption:='('+FloatToStr(bst_G)+' Defizit an Getreide)';
       Label37.caption:= IntToStr(zt_G div 60);
       Label38.caption:= IntToStr(zt_G-(60*(zt_G div 60)));
      end;

ende_min:=StrToInt(copy(TimeToStr(Now), 4, 2))+StrToInt(Label38.caption); //Endzeitberechnung
ende_h:=StrToInt(copy(TimeToStr(Now), 0, 2))+StrToInt(Label37.caption);

while ende_min > 59 do
 begin
  ende_min:=ende_min-60;
  ende_h:=ende_h+1;
 end;

while ende_h > 24 do
 begin
  ende_h:=ende_h-24;
  ende_day:=ende_day+1;
 end;



if (ende_h>0) AND (ende_min>0) then
begin
Label41.Caption:='um '+IntToStr(ende_h)+':'+IntToStr(ende_min)+':0';
Label42.Caption:='kann ausgebaut werden';
end;

if ende_day>0 then Label26.caption:='(in '+IntToStr(ende_day)+' Tagen)'
              else Label26.caption:='';


end;

end.
Angehängte Dateien
Dateityp: zip travian_tool_940.zip (920,6 KB, 8x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Windows meldet jedesmal einen Fehler ->nicht ausführb

  Alt 15. Nov 2005, 15:00
Und jetzt brauchen wir nur noch die genaue Fehler-Meldung und wenns geht die Nummer dazu.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
ppirokke

Registriert seit: 25. Mai 2004
Ort: Simmern
16 Beiträge
 
#3

Re: Windows meldet jedesmal einen Fehler ->nicht ausführb

  Alt 15. Nov 2005, 15:04
sorry o0 habs programm im anhang, kannst dus mal testen? ich kann grad schlecht nen freund fragen weil die alle net erreichbar sind v.v
Denkt dran: Das Leben ist wie eine Hühnerleiter:
VON OBEN BIS UNTEN BESCHISSEN
Es ist wie ein Schnitzel:
VON BEIDEN SEITEN BEKLOBBT
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Windows meldet jedesmal einen Fehler ->nicht ausführb

  Alt 15. Nov 2005, 15:05
pack doch einfach mal den Quellcode in deine Zip .. dann sucht sich's schon viel einfacher ^^
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#5

Re: Windows meldet jedesmal einen Fehler ->nicht ausführb

  Alt 15. Nov 2005, 15:06
Ich tippe auf ein Problem mit dem Mediaplayer. Wo weist du ihm zu, was er abspielen soll?

(Anhang: Fehlermeldungen)
Miniaturansicht angehängter Grafiken
2_414.jpg   1_799.jpg  
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
ppirokke

Registriert seit: 25. Mai 2004
Ort: Simmern
16 Beiträge
 
#6

Re: Windows meldet jedesmal einen Fehler ->nicht ausführb

  Alt 15. Nov 2005, 15:11
oh neiiiiiin xD ich hab ohne groß zu überlegen einfach
MediaPlayer1.filename auf G:\Dokumente und Einstellungen\pirokke\Desktop\travian_progg\wecker .wav
gesetzt, kein wunder dass der die datei bei den andren nicht öffnen kann v.v DANKE FÜR DIE HILFE!

Ihr seid unschlagbar xo)
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#7

Re: Windows meldet jedesmal einen Fehler ->nicht ausführb

  Alt 15. Nov 2005, 15:14
Dann würde ich MediaPlayer.FileName (oder so) auf GetCurrentDir + '\Wecker.wav' setzen.

oder einfacher als gleich mit Mediaplayer:
Delphi-Quellcode:
uses MMSystem;

PlaySound(GetCurrentDir + '\Wecker.wav', 0, SND_ASYNC or SND_FILENAME);
Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Windows meldet jedesmal einen Fehler ->nicht ausführb

  Alt 15. Nov 2005, 16:54
oder:
ExtractFilePath(Application.exename)
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:20 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