-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
2. Jul 2008
Ich habe jetzt nicht versucht, die Logik zu durchschauen, aber mir sind 3 Dinge aufgefallen:
1. Wo ist denn opendialog definiert? Ist das eine globale Variable?
2. Du erzeugst opendialog und greifst später auf OpenDialog1 zu :gruebel:
3. Ein try-finally-Block wäre mehr als angebracht.openDialog := TOpenDialog.Create(self);
try
//Arbeiten mit dem Dialog
finally
openDialog.Free;
end;
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
22. Jun 2008
Womit wir dann wieder bei #2 wären :wall: (wieso tu ich mir das eigentlich an?)
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
22. Jun 2008
unit FileArray;
interface
type
TFilenameInfos = record
RealFileName: String;
DisplayName: String;
end;
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
22. Jun 2008
Das Problem ist ganz einfach: Wenn Du in beiden Units jeweils eine Variable vom Typ TDeinArray definierst, sind das auch 2 verschiedene Variablen. Wenn mein Nachbar und ich das gleiche Auto haben, kann er seins so oft waschen, wie er will, davon wird meins nicht sauberer :zwinker:
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
Ich brauch jetzt ne Pennpause. Cobra (Manuel), übernehmen Sie :lol:
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
*Aaaaaarrrrgghh*
Das gilt auch für globale Variablen, sofern man denn meint, solche zu brauchen.
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
Manuel, *piep* mich am *piep*, Du *piep* :tongue:
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
Naja, zumindest wissen wir jetzt endlich, was es ist. Ich gehe jetzt gleich ins Bett, schauen wir morgen (nee, heute) Morgen nochmal drüber.
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
Mal 'ne kleine Erweiterung: lIndex := ListBox1.ItemIndex;
if lIndex < 0 then exit;
if lIndex > High(MeinArray) then
ShowMessage('Da haben wirs');
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
Was wird Dir denn angezeigt? Lass Dir doch nicht alles aus der Nase ziehen.
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
Und wenn Du mal self.Handle einträgst?
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
Hast Du mal einen Breakpoint gesetzt?
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
Kannst Du mir mal erklären, wieso das schon wieder verkehrt herum da steht? Letzter Versuch:procedure TForm2.Button2Click(Sender: TObject);
function ShellExecuteErrMessage(int_Code: INTEGER): String;
begin
case int_code of
0: result := 'Zuwenig Speicher, ausführbare Datei war zerstört, Relokationswerte waren ungültig';
2: result := 'Datei wurde nicht gefunden.';
3:...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
Der *Piep*-Button sollte eigentlich ein Scherz sein, aber langsam könnte ich mich mit dem Gedanken anfreunden :mrgreen:
@Johnny Bravo: nun nochmal im Ganzen die Methode zum Aufruf, damit wir endlich mal fertig werden
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
*Piiiiiiiiiiiiiiieeeepppp*... *schnauf*
Tu uns beiden mal einen Gefallen und füge direkt hinter dem begin diese beiden Zeilen ein:lIndex := Form2.ListBox1.ItemIndex;
if lIndex < 0 then exit;
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
Nochmal: lIndex ist nicht initialisiert!
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
Ich korrigier das mal so, wie ich mir denke, dass es stimmen sollte: if Form2.ListBox1.ItemIndex >= 0 then
begin //wichtig!
lIndex := Length(MeinArray); //erstmal ermitteln
SetLength(MeinArray, lIndex + 1);
MeinArray.RealFileName := Form2.OpenDialog1.FileName;
MeinArray.DisplayName := Form4.Edit1.Text;
//lIndex :=...
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
Ich seh da ein end, aber kein begin, das dazu passen würde.
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
begin und end wären auch ganz angebracht, fällt mir gerade auf.
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
Und achte mal auf die Reihenfolge, erst ermitteln und dann neu setzen. Außerdem sind nun schon wieder woanders, ursprünglich ging es doch um Form2, wieso nun um Form4?
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
Mach das mal so, wie Manuel vorgeschlagen hat: als erste Zeile lIndex auf den ItemIndex der Listbox setzen (und unbedingt auf < 0 prüfen, kleiner Zusatz meinerseits).
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
Mir scheint, lIndex ist eine lokale Variable in der Einfüge-Prozedur. Allerdings würde sich das Programm dann gar nicht kompilieren lassen, da sollte eigentlich etwas kommen mit "unbekannter Bezeichner". Hast Du sie vielleicht noch einmal als globale Variable definiert? Vielleicht zippst Du den ganzen Schmu mal und hängst ihn hier an, sonst raten wir noch ewig weiter.
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
Welchen Wert hat lIndex?
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
Uns wird nichts anderes übrig bleiben als TForm2.Button2Click nochmal durchzugehen.
-
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by DeddyH,
21. Jun 2008
Hast Du meinen Code aus dem letzten Post genauso übernommen?