Autor |
Beitrag |
Ankaa
Hält's aus hier
Beiträge: 4
|
Verfasst: Do 29.05.08 10:10
Hallo,
ich bin neu, da ich ein Problem habe und schnellstmöglich eine Lösung brauche, selber auch nicht sehe, wo der Fehler liegt.
Ich habe eine Automatisation, die ursprünglich in zwei unterschiedlichen Prozeduren eine von zwei Datein über OLE angesprochen hat und bei Button-Klick eingegebene Daten in die Tabelle der entsprechenden Datei geschrieben hat. Dazu hatte ich zwei GroupBoxes und diese halt über ein Menü angesprochen.
Nun wollte ich dies der Einfachheit halber zusammenlegen, d.h. nur eine Eingabe-Maske für beide Dateien und bekomme nun ein Problem (es hat bereits am Anfang funktioniert, nun tut es dies nicht mehr und ich weiß absolut nicht, woran es liegt). Es sieht also wiefolgt aus. Wenn ich auf den Menü-Punkt "Eingabe" klicke, dann öffnet sich die Eingabe-Maske und Delphi ruft über
Delphi-Quelltext 1: 2: 3: 4: 5:
| Wbk := Excel.WorkBooks.Open('Dateiname'.xls); row := Excel.Sheets[1].Cells[1,1].value;
Wbk2 := Excel.WorkBooks.Open('Dateiname2'.xls); row2 := Excel.Sheets[1].Cells[1,1].value; |
auf. Excel, WBk und WBk2 sind vom Typ OLEVariant, row+row2 sind Integer.
Klicke ich nun auf den "Hinzufügen"-Button, der die Daten in die Excel-Tabelle schreiben soll, läuft folgende Prozedur ab
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| date := edit1.text; WBk.Sheets[1].Cells[row,1].Value := date;
WBk.Sheets[1].Cells[1,1].Value := IntToStr(row+1);
size := edit1.text; WBk2.Sheets[1].Cells[row2,1].Value := size;
WBk2.Sheets[1].Cells[1,1].Value := IntToStr(row2+1); |
Den Teil mit WBk macht er absolut problemlos, bei WBk2 kommt oben genannter Fehler.
Als ich die zwei Prozeduren hatte, habe ich es über Excel.Sheets[1].Cells.Value angesprochen, hat problemlos geklappt. Dies funktioniert nun nicht. Wenn ich über Excel und als zweite Variable Excel2 gehe, funktioniert wieder nur Excel, Excel2 nicht.
Was mache ich falsch?
Danke schonmal, für eure Hilfe
Moderiert von Narses: Code- durch Delphi-Tags ersetzt
|
|
alzaimar
      
Beiträge: 2889
Erhaltene Danke: 13
W2000, XP
D6E, BDS2006A, DevExpress
|
Verfasst: Do 29.05.08 10:28
Gib den Fehlercode mal bei Google ein (mit einem OLE vornedran) 
_________________ Na denn, dann. Bis dann, denn.
|
|
Ankaa 
Hält's aus hier
Beiträge: 4
|
Verfasst: Fr 30.05.08 13:20
Hallo,
prinzipiell erstmal Danke für die Antwort. Allerdings war ich selber schon im Vorfeld auf die Idee gekommen, Google zu fragen, und konnte mit den Antworten, die ich da bekommen habe, nichts anfangen. Und Zeit, mich richtig intensiv mit allen möglichen Fehlercodes etc. zu beschäftigen, habe ich einfach momentan nicht.
Mich würde ja vor allem interessieren, woran es liegt, dass es erst klappt, und dann nicht. Und wieso identischer Code einmal funktioniert und beim zweiten nicht.
Lg, Ankaa
|
|
alzaimar
      
Beiträge: 2889
Erhaltene Danke: 13
W2000, XP
D6E, BDS2006A, DevExpress
|
Verfasst: Fr 30.05.08 13:28
Ankaa hat folgendes geschrieben: | Und Zeit, mich richtig intensiv mit allen möglichen Fehlercodes etc. zu beschäftigen, habe ich einfach momentan nicht. |
Dann nimm sie Dir. Es ist ja nur ein Fehlercode.
www.delphipraxis.net/post894672.html (Google) hilft das?
_________________ Na denn, dann. Bis dann, denn.
|
|
Ankaa 
Hält's aus hier
Beiträge: 4
|
Verfasst: Mo 09.06.08 07:12
Hallo,
ist nicht böse gemeint, aber meinst du nicht, dass ich nicht selber auf den Gedanken gekommen war, zuerst zu googlen? Und dass ich mir dann, wenn ich schon in einem Forum nachfrage, bessere Antworten erwarte als "Nimm dir Zeit zu googlen"?
Es hätte ja sein können, dass sich jemand die Zeit nimmt, es mir - die von Delphi nicht sooo viel Ahnung hat - etwas genauer zu erklären. Dann ist der Lerneffekt größer, vor allem wenn man nicht zu viel Zeit hat.
Trotzdem Danke.
|
|
alzaimar
      
Beiträge: 2889
Erhaltene Danke: 13
W2000, XP
D6E, BDS2006A, DevExpress
|
Verfasst: Mo 09.06.08 08:32
Ankaa hat folgendes geschrieben: | Hallo,
ist nicht böse gemeint, aber meinst du nicht, dass ich nicht selber auf den Gedanken gekommen war, zuerst zu googlen? |
Nein, denn die Erfahrung zeigt, das viele nicht in der Lage sind (oder nicht glauben, das man Hilfe bekommt), diesen Fehlercode bei Google einzutippen. Dies ist auch nicht der erste OLE-Fehler, dem ich zu enschlüsseln versucht habe, und ich habe bisher immer über die Befragung des allwissenden Google-Orakels eine Lösung erhalten. Hier muss man allerdings etwas lesen. Ich war dafür zu faul und dachte mir, das Du das dann auch bist (vor allen Dingen wegen deiner Bemerkung bezüglich der fehlenden Zeit).
Ankaa hat folgendes geschrieben: | Und dass ich mir dann, wenn ich schon in einem Forum nachfrage, bessere Antworten erwarte als "Nimm dir Zeit zu googlen"?
|
Richtig, aber Hilfe zur Selbsthilfe ist auch nicht zu unterschätzen. Da ich die Lösung (bzw. diverse Ansätze) bereits gefunden habe, erwartest Du nun von mir, das ich Dir diese Lösungen zusammenfasse und auf dem Silbertablett präsentiere?
_________________ Na denn, dann. Bis dann, denn.
|
|
Ankaa 
Hält's aus hier
Beiträge: 4
|
Verfasst: Mi 11.06.08 06:58
Hallo,
ich weiß ja nicht, was fehlende Zeit mit faul-sein zu tun hat. Wenn ich schreibe, ich habe keine Zeit ausführlich zu recherchieren, dann meine ich das so (und liegt z.B. an stressigem Studium, Prüfungen, nebenbei Arbeit...)
Und ich weiß selber, dass man durchaus bei Google antworten bekommt, aber ich habe wie gesagt in den 10 Minuten, wo ich gesucht hatte, keine befriedigende Antwort bekommen und eben schlicht und ergreifend keine Zeit gehabt, dann bei den "Google-Antworten" nochmal konkret mir alles durchlesen zu müssen, nur um da die für mich relevante Information herauszusuchen.
Z.B. konnte ich mit dem von dir geposteten Link auch nur soviel anfangen, dass es DA um verschiedene Office-Versionen ging. Dies ist aber bei mir nicht der Fall.
Mal davon abgesehen habe ich ja nicht nur einen Fehlercode gepostet, sondern auch gesagt, was ich gemacht habe, und hätte es eben halt gerne erklärt bekommen...
Und nein, ich erwarte keine Präsentation auf dem Silbertablett und ich weiß sehr wohl, dass Selbsthilfe oft hilft, aber wie ich bereits sagte, dann würde ich nicht in einem Forum nachfragen, vor allem mit der Hoffnung, dass die Leute dort mehr Ahnung und Erfahrung haben als ich.
Ankaa
|
|
zuma
      
Beiträge: 660
Erhaltene Danke: 21
Win XP, Win7, Win 8
D7 Enterprise, Delphi XE, Interbase (5 - XE)
|
Verfasst: Mi 11.06.08 07:49
schau dir deinen Code nochmal genauer an:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| date := edit1.text; WBk.Sheets[1].Cells[row,1].Value := date;
WBk.Sheets[1].Cells[1,1].Value := IntToStr(row+1);
size := edit1.text; WBk2.Sheets[1].Cells[row2,1].Value := size;
WBk2.Sheets[1].Cells[1,1].Value := IntToStr(row2+1); |
wenn das alles in einer Prozedur gemacht wird, frag ich mich,
wie Edit1.text sowohl ein Datum als auch eine Size enthalten kann.
Oder ist das Datum die Size ?
Zumindest siehts so aus, als wäre der selbe Wert auf 2 Datentypen verteilt worden ?
_________________ Ich habe nichts gegen Fremde. Aber diese Fremden sind nicht von hier! (Methusalix)
Warum sich Sorgen ums Leben machen? Keiner überlebts!
|
|
alzaimar
      
Beiträge: 2889
Erhaltene Danke: 13
W2000, XP
D6E, BDS2006A, DevExpress
|
Verfasst: Mi 11.06.08 08:25
Ankaa hat folgendes geschrieben: |
...konnte ich mit dem von dir geposteten Link auch nur soviel anfangen, dass es DA um verschiedene Office-Versionen ging. Dies ist aber bei mir nicht der Fall. |
Also ich hab daraus (und den Google-Ergebnissen) gelesen, das es etwas mit falschen Parametern zu tun hat. 
_________________ Na denn, dann. Bis dann, denn.
|
|
|