Ja kannst du die bitte posten?Bauer321 hat geschrieben:das ist eine Form(FMoreV: TFMoreV;)
Fehler? - Geht nicht aber ich finde den Fehler leider nicht
-
- Beiträge: 657
- Registriert: Sa 9. Jan 2010, 17:32
- OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
- CPU-Target: 64Bit
Re: Fehler? - Geht nicht aber ich finde den Fehler leider nicht
-
- Beiträge: 619
- Registriert: Mi 9. Mär 2011, 16:34
- OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
- CPU-Target: 64Bit
- Wohnort: seit 01.06.2011 in Wahlstedt
Re: Fehler? - Geht nicht aber ich finde den Fehler leider nicht
Leider muß ich mich mal auch der Praktichen Hilfe ausklinken. kann wenn nur via Theorie was beisteuern. Grund siehst in meinem System.Bauer321 hat geschrieben:Source... (zip|~254KB)
(habe vor ca.30sec die datei nochmal minimal verändert....der problemfall befindet sich in der unit "uaddversion")
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache
und der Kreis Segeberg meine LIEBE 


-
- Beiträge: 465
- Registriert: Sa 21. Aug 2010, 21:30
- OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
- CPU-Target: 64-Bit
- Wohnort: nahe Bremen
- Kontaktdaten:
Re: Fehler? - Geht nicht aber ich finde den Fehler leider nicht
aso ja okay.
das ist der code von FMoreV:
das ist der code von FMoreV:
Code: Alles auswählen
unit uaddversion;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
EditBtn, ComCtrls, Buttons, ExtendedNotebook;
type
{ TFMoreV }
TFMoreV = class(TForm)
BitBtn1: TBitBtn;
depath1: TDirectoryEdit;
depath10: TDirectoryEdit;
depath11: TDirectoryEdit;
depath12: TDirectoryEdit;
depath13: TDirectoryEdit;
depath14: TDirectoryEdit;
depath15: TDirectoryEdit;
depath16: TDirectoryEdit;
depath2: TDirectoryEdit;
depath3: TDirectoryEdit;
depath4: TDirectoryEdit;
depath5: TDirectoryEdit;
depath6: TDirectoryEdit;
depath7: TDirectoryEdit;
depath8: TDirectoryEdit;
depath9: TDirectoryEdit;
ename12: TEdit;
ename6: TEdit;
eopt10: TEdit;
eopt11: TEdit;
eopt12: TEdit;
eopt13: TEdit;
eopt14: TEdit;
eopt15: TEdit;
eopt16: TEdit;
eopt2: TEdit;
eopt3: TEdit;
eopt4: TEdit;
eopt5: TEdit;
eopt6: TEdit;
eopt7: TEdit;
eopt8: TEdit;
eopt9: TEdit;
ever1: TEdit;
eopt1: TEdit;
ename1: TEdit;
ename10: TEdit;
ename11: TEdit;
ename13: TEdit;
ename14: TEdit;
ename15: TEdit;
ename16: TEdit;
ename2: TEdit;
ename3: TEdit;
ename4: TEdit;
ename5: TEdit;
ename7: TEdit;
ename8: TEdit;
ename9: TEdit;
ever10: TEdit;
ever11: TEdit;
ever12: TEdit;
ever13: TEdit;
ever14: TEdit;
ever15: TEdit;
ever16: TEdit;
ever2: TEdit;
ever3: TEdit;
ever4: TEdit;
ever5: TEdit;
ever6: TEdit;
ever7: TEdit;
ever8: TEdit;
ever9: TEdit;
ExtendedNotebook1: TExtendedNotebook;
fnpath1: TFileNameEdit;
fnpath10: TFileNameEdit;
fnpath11: TFileNameEdit;
fnpath12: TFileNameEdit;
fnpath13: TFileNameEdit;
fnpath14: TFileNameEdit;
fnpath15: TFileNameEdit;
fnpath16: TFileNameEdit;
fnpath2: TFileNameEdit;
fnpath3: TFileNameEdit;
fnpath4: TFileNameEdit;
fnpath5: TFileNameEdit;
fnpath6: TFileNameEdit;
fnpath7: TFileNameEdit;
fnpath8: TFileNameEdit;
fnpath9: TFileNameEdit;
GroupBox1: TGroupBox;
GroupBox10: TGroupBox;
GroupBox11: TGroupBox;
GroupBox12: TGroupBox;
GroupBox13: TGroupBox;
GroupBox14: TGroupBox;
GroupBox15: TGroupBox;
GroupBox16: TGroupBox;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
GroupBox4: TGroupBox;
GroupBox5: TGroupBox;
GroupBox6: TGroupBox;
GroupBox7: TGroupBox;
GroupBox8: TGroupBox;
GroupBox9: TGroupBox;
Label1: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label2: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
Label3: TLabel;
Label30: TLabel;
Label31: TLabel;
Label32: TLabel;
Label33: TLabel;
Label34: TLabel;
Label35: TLabel;
Label36: TLabel;
Label37: TLabel;
Label38: TLabel;
Label39: TLabel;
Label4: TLabel;
Label40: TLabel;
Label41: TLabel;
Label42: TLabel;
Label43: TLabel;
Label44: TLabel;
Label45: TLabel;
Label46: TLabel;
Label47: TLabel;
Label48: TLabel;
Label49: TLabel;
Label5: TLabel;
Label50: TLabel;
Label51: TLabel;
Label52: TLabel;
Label53: TLabel;
Label54: TLabel;
Label55: TLabel;
Label56: TLabel;
Label57: TLabel;
Label58: TLabel;
Label59: TLabel;
Label6: TLabel;
Label60: TLabel;
Label61: TLabel;
Label62: TLabel;
Label63: TLabel;
Label64: TLabel;
Label65: TLabel;
Label66: TLabel;
Label67: TLabel;
Label68: TLabel;
Label69: TLabel;
Label7: TLabel;
Label70: TLabel;
Label71: TLabel;
Label72: TLabel;
Label73: TLabel;
Label74: TLabel;
Label75: TLabel;
Label76: TLabel;
Label77: TLabel;
Label78: TLabel;
Label79: TLabel;
Label8: TLabel;
Label80: TLabel;
Label9: TLabel;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
TabSheet6: TTabSheet;
TabSheet7: TTabSheet;
TabSheet8: TTabSheet;
procedure BitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ReloadContent();
private
{ private declarations }
public
{ public declarations }
end;
var
FMoreV: TFMoreV;
implementation
uses umain;
{$R *.lfm}
{ TFMoreV }
procedure TFMoreV.FormCreate(Sender: TObject);
begin
ReloadContent();
end;
//nach dem start soll hier der inhalt aus den arrays in die felder geschrieben werden
procedure TFMoreV.ReloadContent();
var
o, p, q, r, s: TObject;
x: integer;
begin
For x := 1 To 16 Do
Begin
o := FindChildControl('ename' + inttostr(x));
p := FindChildControl('fnpath' + inttostr(x));
q := FindChildControl('depath' + inttostr(x));
r := FindChildControl('ever' + inttostr(x));
s := FindChildControl('eopt' + inttostr(x));
If Assigned(o) And (o Is TEdit)
Then Begin
TEdit(o).text := vname[x];
end;
If Assigned(p) And (o Is TFileNameEdit)
Then Begin
TFileNameEdit(p).filename := path[x];
end;
If Assigned(q) And (o Is TDirectoryEdit)
Then Begin
TDirectoryEdit(q).directory := dpath[x];
end;
If Assigned(r) And (r Is TEdit)
Then Begin
TEdit(r).text := ver[x];
end;
If Assigned(s) And (s Is TEdit)
Then Begin
TEdit(s).text := opt[x];
end;
end;
end;
//Hier soll der inhalt in die arrays eingelesen werden
procedure TFMoreV.BitBtn1Click(Sender: TObject);
var
o, p, q, r, s: TObject;
x: integer;
begin
For x := 1 To 16 Do
Begin
o := FindChildControl('ename' + inttostr(x));
p := FindChildControl('fnpath' + inttostr(x));
q := FindChildControl('depath' + inttostr(x));
r := FindChildControl('ever' + inttostr(x));
s := FindChildControl('eopt' + inttostr(x));
If Assigned(o) And (o Is TEdit)
then begin
Caption:= 'O is TEdit ';
if TEdit(o).text <> '' then vname[x] := TEdit(o).text
else vname[x] := Caption + ' & FMain.vname[x] = ' + vname[x];
end;
If Assigned(o) And (o Is TEdit)
Then Begin
if TEdit(o).text <> '' then vname[x] := TEdit(o).text;
end;
If Assigned(p) And (p Is TFileNameEdit)
Then Begin
if TFileNameEdit(p).filename <> '' then path[x] := TFileNameEdit(p).filename;
end;
If Assigned(q) And (q Is TDirectoryEdit)
Then Begin
if TDirectoryEdit(q).directory <> '' then dpath[x] := TDirectoryEdit(q).directory;
end;
If Assigned(r) And (r Is TEdit)
Then Begin
if TEdit(r).text <> '' then opt[x] := TEdit(r).text;
end;
If Assigned(s) And (s Is TEdit)
Then Begin
if TEdit(s).text <> '' then ver[x] := TEdit(s).text;
end;
end;
//nur zum testen obs funktioniert hat
ShowMessage('vname[1] = '+vname[1]+sLineBreak+
'path[1] = '+path[1]+sLineBreak+
'dpath[1] = '+dpath[1]+sLineBreak+
'ver[1] = '+ver[1]+sLineBreak+
'opt[1] = '+opt[1]);
FMoreV.hide;
end;
end.
www.mcpatcher.net | www.hoeper.me
-
- Beiträge: 465
- Registriert: Sa 21. Aug 2010, 21:30
- OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
- CPU-Target: 64-Bit
- Wohnort: nahe Bremen
- Kontaktdaten:
Re: Fehler? - Geht nicht aber ich finde den Fehler leider nicht
keiner der mir noch irgenwie helfen kann?
also es muss ja irgendwie am elternobjekt liegen nur weiß ich nicht wie ich es anpassen kann/muss
also es muss ja irgendwie am elternobjekt liegen nur weiß ich nicht wie ich es anpassen kann/muss
www.mcpatcher.net | www.hoeper.me
-
- Beiträge: 657
- Registriert: Sa 9. Jan 2010, 17:32
- OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
- CPU-Target: 64Bit
Re: Fehler? - Geht nicht aber ich finde den Fehler leider nicht
Wie ich ahnte.
greif einfach auf ename1 direkt zu.
greif einfach auf ename1 direkt zu.
-
- Beiträge: 465
- Registriert: Sa 21. Aug 2010, 21:30
- OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
- CPU-Target: 64-Bit
- Wohnort: nahe Bremen
- Kontaktdaten:
Re: Fehler? - Geht nicht aber ich finde den Fehler leider nicht
wie meinste das?
also wenn ich zum beispiel das hier eingebe gehts:
opt[1] := eopt1.text;
...was mich dann auch schon wieder ein wneig dran zweifeln lässt das es am elternobjekt liegt
also wenn ich zum beispiel das hier eingebe gehts:
opt[1] := eopt1.text;
...was mich dann auch schon wieder ein wneig dran zweifeln lässt das es am elternobjekt liegt
www.mcpatcher.net | www.hoeper.me
-
- Beiträge: 657
- Registriert: Sa 9. Jan 2010, 17:32
- OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
- CPU-Target: 64Bit
Re: Fehler? - Geht nicht aber ich finde den Fehler leider nicht
Warum hast du überhaupt 80 Elemente mit genau denselben Eigenschaften erstellt und suchst jetzt nach FindChildControl('ename' + inttostr(x)); und co.
Erstelle die Komponenten doch dynamisch, lege die Komponenten anhand eines Prototyps im Formular an. Wenn du die in der Create-Methode erstellst, kannst du dir die Elemente auch gleich merken.
Sind die 80 Elemente immer genau 80? Oder hoffst du, dass man niemals mehr braucht?
Erstelle die Komponenten doch dynamisch, lege die Komponenten anhand eines Prototyps im Formular an. Wenn du die in der Create-Methode erstellst, kannst du dir die Elemente auch gleich merken.
Sind die 80 Elemente immer genau 80? Oder hoffst du, dass man niemals mehr braucht?
Re: Fehler? - Geht nicht aber ich finde den Fehler leider nicht
Versuch doch einfach mal FindComponent() statt FindChildControl()
-
- Beiträge: 465
- Registriert: Sa 21. Aug 2010, 21:30
- OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
- CPU-Target: 64-Bit
- Wohnort: nahe Bremen
- Kontaktdaten:
Re: Fehler? - Geht nicht aber ich finde den Fehler leider nicht
hört sich sehr interessant an. wenn du mir nen tutorial oder ne kleine erklärung mit einem Beispiel mach könntest wäre das sehr hilfreich. Ich dachte schon häufiger an sowas nur ich habs halt noch nie gemacht und keine ahnung wie ich das anstellen soll. dehalb habe ich einfach in einem TNotebook die dinge angeordnet wie es später sein soll(sicherleich im gegensatz zu deiner lösung sehr umständlich)carli hat geschrieben:Warum hast du überhaupt 80 Elemente mit genau denselben Eigenschaften erstellt und suchst jetzt nach FindChildControl('ename' + inttostr(x)); und co.
Erstelle die Komponenten doch dynamisch, lege die Komponenten anhand eines Prototyps im Formular an. Wenn du die in der Create-Methode erstellst, kannst du dir die Elemente auch gleich merken.
Sind die 80 Elemente immer genau 80? Oder hoffst du, dass man niemals mehr braucht?
www.mcpatcher.net | www.hoeper.me
-
- Beiträge: 465
- Registriert: Sa 21. Aug 2010, 21:30
- OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
- CPU-Target: 64-Bit
- Wohnort: nahe Bremen
- Kontaktdaten:
Re: Fehler? - Geht nicht aber ich finde den Fehler leider nicht
dankedankeDiBo33 hat geschrieben:Versuch doch einfach mal FindComponent() statt FindChildControl()


... dann habe ich noch ein Frage und zwar funktioniert hir auch was nicht:
Code: Alles auswählen
for x := 1 to 16 do
if (path[x] <> '') and (ver[x] <> '') and (Application.HasOption(opt[x]))
then begin
minecraftbackup();
if FileExistsUTF8(path[x])= true
then begin
if dpath[x] = '' then dpath[x] := mcpath;
if FileExistsUTF8(dpath[x]+'bin\minecraft.jar')=true
then DeleteFileUTF8(dpath[x]+'bin\minecraft.jar');
if not copyfile(path[x],dpath[x]+'bin\minecraft.jar')
then showmessage('There was an error the Backup did not work');
end;
runmc(path[x]);
Close;
Application.Terminate();
end;
ich habe das programm dann wie folgt verknüpft: D:\Informatik\mcpatcher\public\MCPatcher.exe -der text aus opt[1] .... und das ging nicht. wenn ich jedoch folgendes gemacht habe: D:\Informatik\mcpatcher\public\MCPatcher.exe -a1.0.15 (a1.0.15) ist eine feste option, die frage ich einfach so ab:
Code: Alles auswählen
if Application.HasOption('a1.0.15') then begin
Extractjar2('a-1.0.15','Ver. a1.0.15');
runmc('');
Close;
Application.Terminate();
end;
www.mcpatcher.net | www.hoeper.me
-
- Beiträge: 657
- Registriert: Sa 9. Jan 2010, 17:32
- OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
- CPU-Target: 64Bit
Re: Fehler? - Geht nicht aber ich finde den Fehler leider nicht
Warum willst du immer ein Tutorial??Bauer321 hat geschrieben:hört sich sehr interessant an. wenn du mir nen tutorial oder ne kleine erklärung mit einem Beispiel mach könntest wäre das sehr hilfreich.
Folgender Deal: Ich schreibe dir den Beispielcode hin und du machst ein Tutorial draus, das du dann auch aufs LazWiki stellst.
Hier der Code: (Zum Testen reicht ein leeres Formular, die Komponenten werden in onCreate erzeugt. Auch das ButtonClick hängt der selbstständig an)
Code: Alles auswählen
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure ButtonClick(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
var ed: TEdit;
but: TButton;
begin
ed:=TEdit.Create(self);
ed.Parent:=self;
ed.top:=8;
ed.Left:=10;
ed.Width:=ClientWidth-2*ed.left;
ed.text:='Bitte geben sie den Text ein';
but:=TButton.Create(self);
but.parent:=self;
but.top:=ed.Top+ed.Height;
but.left:=ed.Left;
but.Caption:='Klickmich';
but.OnClick:=@ButtonClick;
end;
procedure TForm1.ButtonClick(Sender: TObject);
begin
showmessage('Hallo Welt');
end;
end.
-
- Beiträge: 465
- Registriert: Sa 21. Aug 2010, 21:30
- OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
- CPU-Target: 64-Bit
- Wohnort: nahe Bremen
- Kontaktdaten:
Re: Fehler? - Geht nicht aber ich finde den Fehler leider nicht
ok sag mir noch wie ich das nennen soll und ich guck mal was ich zu schreiben kann
ja und warum ich gerne irgendnen link zu nem tutorial habe, das ist einfach weil man da gut hilfe findet und das dann deutlich einfacher ist als wenn man die sachen immer wieder erklärt oder wie auch immer
ja und warum ich gerne irgendnen link zu nem tutorial habe, das ist einfach weil man da gut hilfe findet und das dann deutlich einfacher ist als wenn man die sachen immer wieder erklärt oder wie auch immer
www.mcpatcher.net | www.hoeper.me
-
- Beiträge: 619
- Registriert: Mi 9. Mär 2011, 16:34
- OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
- CPU-Target: 64Bit
- Wohnort: seit 01.06.2011 in Wahlstedt
Re: Fehler? - Geht nicht aber ich finde den Fehler leider nicht
Gebe dir mal einen tipp, was ich auf jedenfall auch noch machen werde. suche dir ggf. bei Amazon ein Buch für Lazarus. ich werd mir da auf jeden noch eines kaufen. Jemand 'nen Guten Tip? will ja kein geld "verbrennen".Bauer321 hat geschrieben:ok sag mir noch wie ich das nennen soll und ich guck mal was ich zu schreiben kann
ja und warum ich gerne irgendnen link zu nem tutorial habe, das ist einfach weil man da gut hilfe findet und das dann deutlich einfacher ist als wenn man die sachen immer wieder erklärt oder wie auch immer
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache
und der Kreis Segeberg meine LIEBE 


-
- Beiträge: 657
- Registriert: Sa 9. Jan 2010, 17:32
- OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
- CPU-Target: 64Bit
Re: Fehler? - Geht nicht aber ich finde den Fehler leider nicht
Nenn's "Formular-Komponenten in Lazarus dynamisch erzeugen"Bauer321 hat geschrieben:ok sag mir noch wie ich das nennen soll und ich guck mal was ich zu schreiben kann
Und viel Spaß beim Schreiben

-
- Beiträge: 465
- Registriert: Sa 21. Aug 2010, 21:30
- OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
- CPU-Target: 64-Bit
- Wohnort: nahe Bremen
- Kontaktdaten:
Re: Fehler? - Geht nicht aber ich finde den Fehler leider nicht
www.mcpatcher.net | www.hoeper.me