Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   variable definieren funktioniert nicht! (https://www.delphipraxis.net/127077-variable-definieren-funktioniert-nicht.html)

daNiii 7. Jan 2009 14:49


variable definieren funktioniert nicht!
 
Wo ist der Fehler?

var
Film: string;
begin
Film:= Listview1.selected.caption;
end;

bitte....

SirThornberry 7. Jan 2009 14:50

Re: variable definieren funktioniert nicht!
 
Das sagt dir doch der compiler.

daNiii 7. Jan 2009 14:52

Re: variable definieren funktioniert nicht!
 
wer ist der compiler
:?:

SirThornberry 7. Jan 2009 14:53

Re: variable definieren funktioniert nicht!
 
das widerum sagt dir google und wikipedia.
Mal ehrlich. Du hast eine Hilfe (die du scheinbar nicht nutzt), bekommst eine Fehlermeldung (die du uns verschweigst) nutzt die Suche des Forums anscheinend nicht (in anderen Themen) und zeigst recht wenig Initiative es selbst zu schaffen. Wir helfen gern aber es sollte auch ersichtlich sein das du dich bemühst und nicht nur alles zusammen kopierst.

daNiii 7. Jan 2009 15:11

Re: variable definieren funktioniert nicht!
 
es tut mir leid wenn ich mit diesem Eintrag jemanden beleidigt habe.
ich verschweige jedoch keine Fehlermeldungen. Möchte ich das Programm starten so unterlauft dieser Teil des Programmes mit roter Farbe...
ich möchte aber mit dieser Frage keinen mehr länger aufhalten.
ich bitte um Vergeben.
Danke.

Sherlock 7. Jan 2009 15:18

Re: variable definieren funktioniert nicht!
 
:D

Nicht böse werden!

Eine rotes unterlegen der Codezeile ist nur ein Hinweis auf den Fehlerort. Es gibt aber immer auch ein Ausgabefenster, in dem die Fehlermeldungen drinstehen. Und der Text, der da drinsteht, den würden wir gerne wissen.

Sherlock

lincore 7. Jan 2009 15:19

Re: variable definieren funktioniert nicht!
 
Hallo daNii,

keine Angst, beleidigt ist hier glaube ich so schnell niemand. Du darfst nur nicht erwarten, dass Du fünf Zeilen unformatierten Code postest und der nächstbeste in seine Kristallkugel schaut und sofort weiß, wo das Problem liegt: es könnte nämlich einfach alles sein.

Dir ist vielleicht schon aufgefallen, dass bei Delphi im unteren Bereich ein Fenster mit dem Titel "Meldungen" (o. ä.) auftaucht. Dort schreibt der Compiler (der dein Programm erzeugt) auf, was ihm nicht passt. Falls Du nicht verstehst, was das zu bedeuten hat, klickst Du die Meldung an und drückst F1*. Wenn dir das nichts sagt, kopierst Du die Fehlermeldung (rechte Maustaste->Kontextmenü) und suchst sie bei Google und dann mit der Suchfunktion. Wenn Du immer noch nicht verstehst, wo das Problem liegt, poste die Fehlermeldung hier im Forum und dir wird gern geholfen werden.

Gruß,
lincore

*Edit: Hat TurboDelphi eigentlich eine Kontexthilfe?

daNiii 7. Jan 2009 15:25

Re: variable definieren funktioniert nicht!
 
Ich glaube den Fehler gefunden zu haben, aber weis die Lösung leider nicht.

Fehler:
ich habe bei meinem Listview das Ereigniss SelectItem gewählt
in dieser procedure befindet sich der vorhin erwähnte Befehl. also:

var
o: string;
begin
o:= Listview.selected.caption;
end;

Da der Computer diesen Befehl also nur auslösen dürfte wenn ich eine Zeile im Listview ausgewält habe, dürfte eigentlich keine Fehlermeldung kommen.
Darum bin ich mir sicher, dass ich irgendeinen Denkfehler habe.
Vielleicht kann mir ein anderer Weiterhelfen.
Danke.

SirThornberry 7. Jan 2009 15:29

Re: variable definieren funktioniert nicht!
 
Bekommst du denn einen Fehler? Wenn das alles ist was in der Methode steht müsstest du eine Warnung bekommen aber von ein Fehler dürfte hier nicht vorliegen.
Folgendes Problem habe ich/wir: Du sagst es gibt einen Fehler und zeigst uns den Quelltext.
Wenn es keine Fehlermeldung gibt deutet es eher darauf hinn das nur etwas nicht so funktioniert wie du es willst. Wenn dem so ist müsstest du uns aber mitteilen was passieren soll und was tatsächlich passiert damit wir dir dann sagen können warum das eventuell so ist.

daNiii 7. Jan 2009 15:34

Re: variable definieren funktioniert nicht!
 
es kommt nicht direkt eine Fehlermeldung.. der compiler weist nur auf eine zugriffsverletzung hin.
Der Fehler muss jedoch in diesem Teil des Programmes sein, (ohne diesen Teil erscheint kein Fehler).

Klaus01 7. Jan 2009 15:37

Re: variable definieren funktioniert nicht!
 
.. nun, wenn kein Item in der ListView selektiert ist tritt
eine Zugriffsverletzung auf.
Es kann dann auf caption nicht zugegriffen werden.
Vielleicht solltest Du erst prüfen, ob ein Item überhaupt selektiert wurde.
Delphi-Quellcode:
if ListView1.Selected <> nil then
  ..
Grüße
Klaus

daNiii 7. Jan 2009 15:41

Re: variable definieren funktioniert nicht!
 
danke..
habe es überprüft ein item wurde selectiert...
Dies hat jedoch noch nicht mein Problem behoben.

DeddyH 7. Jan 2009 15:42

Re: variable definieren funktioniert nicht!
 
Wie sieht Dein Code denn jetzt aus?

Klaus01 7. Jan 2009 15:43

Re: variable definieren funktioniert nicht!
 
.. heißt die Instanz bei Dir ListView oder ListView1?
Zitat:

o:= Listview.selected.caption;
[edit]
Wenn Du das im Onselect Ereignis machst, dann kannst Du auch direkt auf das Item zugreifen:

Delphi-Quellcode:
procedure TForm1.ListView1SelectItem(Sender: TObject; Item: TListItem;
  Selected: Boolean);
begin
  edit1.Text:= Item.Caption;
end;
Grüße
Klaus

daNiii 7. Jan 2009 15:44

Re: variable definieren funktioniert nicht!
 
die Instanz heißt bei mir Film, ich habe Listview nur als Beispiel verwendet

daNiii 7. Jan 2009 15:44

Re: variable definieren funktioniert nicht!
 
mein code sieht noch immer gleich aus.

DeddyH 7. Jan 2009 15:45

Re: variable definieren funktioniert nicht!
 
Die Stringvariable heißt Film, wie heißt die Instanz (die Komponente)?
Zitat:

Zitat von daNiii
mein code sieht noch immer gleich aus.

Dann hast Du logischerweise auch denselben Fehler.

angos 7. Jan 2009 15:56

Re: variable definieren funktioniert nicht!
 
Hi daNiii,

wenn dein Code noch gleich aussieht musst du ja noch den gleichen Fehler haben.

Hast du die zwei Tipps von Klaus01 mal in deinen Soruce eingebaut und damit geprüft ob das geht?
Zeige doch nochmal den gesamten Code deiner Routine, ohne irgendwelche Variablen anzupassen.

Gruß

daNiii 7. Jan 2009 15:57

Re: variable definieren funktioniert nicht!
 
heißt gleich. darin liegt nicht der Fehler.

Sherlock 7. Jan 2009 16:04

Re: variable definieren funktioniert nicht!
 
Zitat:

Zitat von daNiii
die Instanz heißt bei mir Film, ich habe Listview nur als Beispiel verwendet

Dann macht dieses Beispiel ja gar keinen Sinn mehr:
Zitat:

Zitat von daNiii
Wo ist der Fehler?
Delphi-Quellcode:
var
Film: string;
begin
Film:= Listview1.selected.caption; // Fehler hier
end;
bitte....

Oder nicht?

Vielleicht solltest Du doch etwas mehr als nur den kleinen Ausschnitt aus deinem Code posten.

Sherlock

Klaus01 7. Jan 2009 16:15

Re: variable definieren funktioniert nicht!
 
.. noch eine kleine Anmerkung am Rande:

Geben Variablen, Instanzen, Methoden immer sprechende Name, so dass
man gleich sieht was für Aufgaben sie haben.

Eine ListView Instanz Film zu nenen ist da nicht sehr geschickt.
Besser wäre filmListView o.ä.

Einen String Film zu nennen ist auch nicht so geschickt.
Besser wäre filmTitel o.ä.

Hier noch ein Link, vielleicht mal durchlesen wenn Du Zeit dazu hast.

Grüße
Klaus

lincore 7. Jan 2009 16:35

Re: variable definieren funktioniert nicht!
 
Vielleicht würde es die Sache vereinfachen, wenn Du den Code der Unit mal hier postest (bitte in Delphi-Code Tags).

daNiii 7. Jan 2009 21:10

Re: variable definieren funktioniert nicht!
 
Danke für euer bemühen...und Tipps
aber ich weis jetzt wo der Fehler liegt.

Der vorhin erwähnte Befehl wird in dem Ereignis ListviewSelectedItem ausgeführt.
Dieses Ereignis löst die Prozedure aus sobald eine Zeile des Listviews angeklickt wird.

bis hier alles ok.

wähle ich jedoch danach eine andere Zeile, so erscheint der Fehler.. und alles unterläuft mit roter Farbe..

Ich habe schon einige Ereignisse probiert aber habe noch nicht das passende für meine Voraussetzungen gefunden. Kann mir jemand einen Tipp geben?

jfheins 7. Jan 2009 21:13

Re: variable definieren funktioniert nicht!
 
Zitat:

Zitat von daNiii
so erscheint der Fehler.. und alles unterläuft mit roter Farbe..

Super Beschreibung :roll:
:arrow: http://www.delphipraxis.net/internal...ct.php?t=47972 ;)

Edit: Das Tutorial passt besser ^^

DeddyH 7. Jan 2009 21:16

Re: variable definieren funktioniert nicht!
 
Ich zitiere mal die Hilfe von Delphi 7:
Zitat:

TLVSelectItemEvent ist der Typ für die OnSelectItem-Ereignisbehandlungsroutine einer Listenansicht.

Unit

ComCtrls oder QComCtrls

Delphi-Syntax:

Delphi-Quellcode:
type TLVSelectItemEvent = procedure(Sender: TObject; Item: TListItem; Selected: Boolean) of object;
C++ Syntax:

Code:
typedef void __fastcall (__closure *TLVSelectItemEvent)(System::TObject
* Sender, TListItem* Item, bool Selected);
Beschreibung

Sender ist die Listenansicht, in der ein Eintrag markiert oder die Markierung eines Eintrags aufgehoben wurde.

Item ist der Eintrag, der markiert oder dessen Markierung aufgehoben wurde.

Selected ist true, wenn der Eintrag markiert wurde und false, wenn die Markierung des Eintrags aufgehoben wurde.

Dunkel 8. Jan 2009 06:28

Re: variable definieren funktioniert nicht!
 
Zitat:

Zitat von daNiii
wähle ich jedoch danach eine andere Zeile, so erscheint der Fehler.. und alles unterläuft mit roter Farbe..

Da wird wohl das Problem liegen. Probier es mal mit grüner Farbe, beißt nicht so sehr... :cyclops:

Zitat:

Zitat von daNiii
Ich habe schon einige Ereignisse probiert aber habe noch nicht das passende für meine Voraussetzungen gefunden. Kann mir jemand einen Tipp geben?

Sehr gerne sogar! Wie wäre es denn, wenn Du uns endlich verrätst, was Du überhaupt machen möchtest, wie Dein Quelltext aussieht (am besten der komplette, höchst wahrscheinlich liegt der Grund Deines Fehlers ganz wo anders, als Du vielleicht glaubst), und, ganz wichtig, wie lautet die Fehlermeldung (rote Farbe ist nicht direkt eine Fehlermeldung), was passiert, was nicht passieren sollte.

Versuch Dich vernünftig auszudrücken, so dass auch nicht-Involvierte verstehen, was Du machen möchtest. Antworte auf Nachfragen, am besten nicht nur mit der Farbe des angezeigten Fehlertextes. Stell uns am Besten so viele Informationen wie möglich zur Verfügung. Wenn man einem zuerst jede Einzelheit aus der Nase ziehen muss, macht das Helfen irgendwie keinen Spaß...

spaxxn 8. Jan 2009 08:23

Re: variable definieren funktioniert nicht!
 
Ich glaube die Anfragen nach seinem Quellcode und dem was er machen möchte werden von seiner Iris nicht durchgereicht :mrgreen:

alzaimar 8. Jan 2009 10:51

Re: variable definieren funktioniert nicht!
 
Jungs, es ist immer lustig, sich auf Kosten Anderer den Bauch zu halten, aber fair ist etwas Anderes. Lasst daNii doch einfach ein wenig Zeit und seit noch ein wenig geduldiger.

Wir warten einfach, bis sowohl Code als auch Fehlerbeschreibung vorliegen und widmen uns in der Zwischenzeit der Beantwortung anderer Fragen, einverstanden?

Blackheart 8. Jan 2009 11:56

Re: variable definieren funktioniert nicht!
 
Ich tippe mal darauf das die Komponente und Variable den selben Namen tragen. :gruebel:

Whatever 8. Jan 2009 12:20

Re: variable definieren funktioniert nicht!
 
Hallo,

also wenn Variable und Komponente exakt den selben Namen tragen kann das der Fehler sein da du ja sonst mit
Delphi-Quellcode:
Film:= Listview1.selected.caption;
versuchen würdest einer Komponente einen Wert zuzuordnen da ja nicht zwischen Komponente und Variable unterschieden werden kann.
Also versuchs mal mit verschiedenen Namen. :wink:

mfg Whatever

Klaus01 8. Jan 2009 12:22

Re: variable definieren funktioniert nicht!
 
Zitat:

Zitat von Whatever
Hallo,

also wenn Variable und Komponente exakt den selben Namen tragen kann das der Fehler sein da du ja sonst mit
Delphi-Quellcode:
Film:= Listview1.selected.caption;
versuchen würdest einer Komponente einen Wert zuzuordnen.
Also versuchs mal mit verschiedenen Namen. :wink:

mfg Whatever

.. hast Du dir schonmal Beitrag #19 angeschaut?

Grüße
Klaus

Whatever 8. Jan 2009 12:29

Re: variable definieren funktioniert nicht!
 
Oh....

Das kommt vom schnellen Überfliegen :oops:

mfg Whatever


Alle Zeitangaben in WEZ +1. Es ist jetzt 22: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 by Thomas Breitkreuz