AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Werte in Edits übergeben..

Ein Thema von Akut-Programming · begonnen am 25. Dez 2003 · letzter Beitrag vom 26. Dez 2003
Antwort Antwort
Akut-Programming

Registriert seit: 18. Aug 2003
648 Beiträge
 
#1

Werte in Edits übergeben..

  Alt 25. Dez 2003, 16:46
Hab mir auch dafür eine kleine Prozedur schreiben wollen, nur bekomme ich auch hier eine Zeugriffsverletzung, wenn ich auf den HaupNode "projekt" zugreifen will..

[EDIT] Änderungen siehe nächsten Thread [/EDIT]
Aufbau meiner XML..
XML-Code:
<projekt>
   <projektname>gfhgfh</projektname>
   ...
</projekt>
Akut-Programming
be cool, be hot ... just be
  Mit Zitat antworten Zitat
Akut-Programming

Registriert seit: 18. Aug 2003
648 Beiträge
 
#2

Re: Werte in Edits übergeben..

  Alt 25. Dez 2003, 17:18
Hab grad mal noch etwas versucht, eigentlich würd ich es mir ja so vorstellen..
Delphi-Quellcode:
procedure OpenProject(xml_file: string);
var
  curNode: IXMLDOMNode;
begin
  frm_main.opened_xmlDoc.load(frm_main.OpenDialog1.FileName); // Nur bekommt er hier eiene Zugriffsverletzung
  curNode := frm_main.opened_xmlDoc.documentElement.selectSingleNode('/projekt');
  with frm_main do begin
    ed_edit_projektname.Text:=curNode.selectSingleNode('projektname').text;
    ...
  end;
  frm_main.pnl_edit.BringToFront;
end;
Akut-Programming
be cool, be hot ... just be
  Mit Zitat antworten Zitat
aps

Registriert seit: 21. Sep 2003
Ort: Hameln
62 Beiträge
 
Delphi 6 Professional
 
#3

Re: Werte in Edits übergeben..

  Alt 25. Dez 2003, 18:07
<projekt> ist deine Root-Node? In dem Fall wird deine erste Abfrage auf projekt failen, entsprechend fliegt der Zeiger ins Leere. Du musst auf <projektname> matchen lassen. Und immer brav auf Gültigkeit überprüfen!

BTW: WITH ist sowas von verpönt...

CU
aps
Andreas
  Mit Zitat antworten Zitat
Akut-Programming

Registriert seit: 18. Aug 2003
648 Beiträge
 
#4

Re: Werte in Edits übergeben..

  Alt 25. Dez 2003, 19:13
Hi aps,

ich glaube nicht, das es am root liegt, dat hätte aber später zu´n Problem werden können von daher danke für den Hinweis. Er muss irgend n Problem mit dem OpenDialog haben, da da die Fehlermeldung kommt.
Akut-Programming
be cool, be hot ... just be
  Mit Zitat antworten Zitat
Akut-Programming

Registriert seit: 18. Aug 2003
648 Beiträge
 
#5

Re: Werte in Edits übergeben..

  Alt 25. Dez 2003, 19:24
Jud okay, so funzt es!!
Delphi-Quellcode:
procedure OpenProject(xml_file: string);
var
  curNode: IXMLDOMNode;
begin
  frm_main.xmlDoc.load(frm_main.OpenDialog1.FileName);
  with frm_main do begin
    ed_edit_projektname.Text:=frm_main.xmlDoc.documentElement.selectSingleNode('projektname').text;
    ...
  end;
  frm_main.pnl_edit.BringToFront;
end;
Akut-Programming
be cool, be hot ... just be
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#6

Re: Werte in Edits übergeben..

  Alt 25. Dez 2003, 19:38
Zitat von aps:
BTW: WITH ist sowas von verpönt...
Sagt wer?

Nur in dem speziellen Fall ist die Angabe von "frm_main" nicht erforderlich, wenn es sich um eine Form-bezogene Variable (private oder public) handelt. Wenn du, @Akut-Programming, "xmldoc" allerdings von einer anderen Form aufrufst, dann solltest du dir mal Gedanken über den Stil machen.

Das hat mir nämlich bei Chakotays MovieOrganizer auch nicht gefallen, darum habe ich bspw. den Code beim Hinzufügen eines Films in die Hauptform gezogen. Ich glaube, die Dialogform für die Eingabe dieser Daten enthält außer der Kontrolle (is´ was eingetragen, dann aktiviere Button) nichts mehr.
  Mit Zitat antworten Zitat
aps

Registriert seit: 21. Sep 2003
Ort: Hameln
62 Beiträge
 
Delphi 6 Professional
 
#7

Re: Werte in Edits übergeben..

  Alt 26. Dez 2003, 10:37
Zitat von MathiasSimmack:
Zitat von aps:
BTW: WITH ist sowas von verpönt...
Sagt wer?
Ziemlich jeder, der schon mal ein größeres Projekt gecodet und/oder im Team gearbeitet hat. Auch wenn es mehr Schreibarbeit ist, sollte man statt
Delphi-Quellcode:
with Objekt do begin
  a := 1;
  b := 2;
  c := 3;
end;
besser
Delphi-Quellcode:
Objekt.a := 1;
Objekt.b := 2;
Objekt.c := 3;
schreiben. Hintergrund: Wenn Methoden oder Variablen in verschiedenen Objekten oder Objekttypen den gleichen Namen haben, weiß man mit WITH irgendwann vielleicht nicht mehr, welche Instanz bzw. welches Objekt gemeint ist. Mit der Punktnotation ist das immer eindeutig. Dieses kürzt zum einen die Dokumentation und zum anderen die Fehleranfälligkeit von Projekten ungemein.

Zitat:
Wenn du, @Akut-Programming, "xmldoc" allerdings von einer anderen Form aufrufst, dann solltest du dir mal Gedanken über den Stil machen.
FULL ACK!
Andreas
  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 04:38 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