![]() |
Re: Variablen zusammensetzten
es ist eigentlich eine funktion... :oops:
Code:
function Schritt3(Schritt: integer): String;
var Nr: Integer; Bis: Integer; line: Integer; speicher: TStringList; offen: TStringList; a: String; begin |
Re: Variablen zusammensetzten
Das kann nicht funktionieren, weil FindComponent wie gesagt eine Funktion von TComponent ist, d.h. sie muss entweder in "procedure TFormX.xyz();" stehen oder über "FormX.FindComponent()" aufgerufen werden :)
Gruß Stephan :dance: |
Re: Variablen zusammensetzten
Hi xstream,
genau was ich mir gedacht habe. Falls die Funktion in der Unit eines Formulars ist, musst du den Header in den private-Teil der Formklasse schreiben:
Delphi-Quellcode:
und bei der Implementierung anstatt dem jetzigen Kopf
TForm1 = class(TForm)
.. private function Schritt3(Schritt: integer): String; ..
Delphi-Quellcode:
schreiben. Anschließend sollte es gehn.
function TForm1.Schritt3(Schritt: integer): String;
greetz alcaeus |
Re: Variablen zusammensetzten
also
vielen dank für die antworten, aber es funktioniert einfach nicht... TForm1 = class(TForm) ist bei mir schon im header, nur anstatt eine eins steht eine 2, weil es das 2 form ist. private function Schritt3(Schritt: integer): String; bei dem schlägt der debugger aus, der sagt nämlich: Deklaration erwartet, aber Bezeichner 'private' gefunden und wenn ich function TForm1.Schritt3(Schritt: integer): String; benutze, gibt es ganz viele fehlermeldungen, eine zb die Funktion braucht eine Methode usw ich bin ein noob ok aber ich kann mit deinen tipps einfach nichts anfangen... |
Re: Variablen zusammensetzten
Hi xstream,
die Klassendeklaration sollte anschließend ungefähr so aussehn:
Delphi-Quellcode:
Dann hättest du den ersten Schritt schon.
type
TForm2 = class(TForm) //Hier steht irgendwas private { Private declarations } function Schritt3(Schritt: integer): String; //Hier muss die Funktion rein public { Public declarations } //Hier steht vielleicht noch irgendwas end; Zum zweiten Teil. Deine Funktion sieht zur Zeit so aus:
Delphi-Quellcode:
Die erste Zeile der Funktion änderst du um in
function Schritt3(Schritt: integer): String;
var Nr: Integer; Bis: Integer; line: Integer; speicher: TStringList; offen: TStringList; a: String; begin //Hier steht vielleicht irgendwas a:=FindComponent('OpenDialog' + IntToStr((line+StrToInt(datei.Strings[1])))); offen.LoadFromFile(TOpenDialog(a).FileName); //Hier steht vielleicht auch irgendwas end;
Delphi-Quellcode:
Anschließend sollte es funktionieren. Und falls der Compiler einen Fehler meldet, bitte sage uns wo im Code der Fehler auftritt und welcher es ist.
function TForm2.Schritt3(Schritt: integer): String;
Greetz alcaeus |
Re: Variablen zusammensetzten
Ich will ja niemanden verwirren, aber in schritt3 statt "FindComponent(...)" einfach "Form2.FindComponent(...)" zu schreiben hilft auch. Wobei die Lösung von alcaeus schon besser is *zugeb* :D
Gruß Stephan |
Re: Variablen zusammensetzten
GUUUUUUUUUUUT nun geht es, ausser das der debugger mir nun meldet, das Inkompatible Typen: String und TComponent besteht... :pale:
|
Re: Variablen zusammensetzten
Hi xstream,
a darf nicht als String deklariert werden, sondern als TComponent. Du erhälst nicht den Namen, sondern den Zeiger aufs gefundene Objekt. Weiters solltest du überprüfen, ob der ObenDialog überhaupt gefunden wurde:
Delphi-Quellcode:
Greetz
function Schritt3(Schritt: integer): String;
var //... a: TComponent; begin //... a := nil; a := FindComponent('OpenDialog' + IntToStr((line+StrToInt(datei.Strings[1])))); if a <> nil then offen.LoadFromFile(TOpenDialog(a).FileName) else ShowMessage('Fehler!'); //Hier steht vielleicht auch irgendwas end; alcaeus |
Re: Variablen zusammensetzten
ok vielenvielenvielen dank!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 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