Entwickler-Ecke
Internet / Netzwerk - Bild im Netzwerk öffnen
Chrischuh - Fr 08.08.08 12:43
Titel: Bild im Netzwerk öffnen
Hallo,
ich habe ein BMP in einem im Netzwerk freigegebenen Ordner.
Wenn ich aber mit Loadfromfile von einem anderen Pc in ein Image lade, kommt die Fehlermeldung "Falsche Dateierweiterung (.bmp)".
Oder ist es einfacher das Bild mit den Sockets zu übertragen, doch das habe ich noch nicht verstanden wie das geht.
Narses - Fr 08.08.08 14:28
Titel: Re: Bild im Netzwerk öffnen
Moin!
Chrischuh hat folgendes geschrieben: |
ich habe ein BMP in einem im Netzwerk freigegebenen Ordner.
Wenn ich aber mit Loadfromfile von einem anderen Pc in ein Image lade, kommt die Fehlermeldung "Falsche Dateierweiterung (.bmp)". |
Das deutet eher auf ein Problem mit der Datei (bzw. deren Inhalt) hin, als auf Netzwerkprobleme. :idea: Hat denn der Benutzer, der auf die Freigabe zugreift, ausreichende Rechte, um die Datei zu lesen? :nixweiss: Test: mach mal die Freigabe auf dem anderen PC manuell auf und einen Doppelklick auf die Bilddatei, so dass diese vom Explorer geöffnet werden soll. Klappt das?
Chrischuh hat folgendes geschrieben: |
| Oder ist es einfacher das Bild mit den Sockets zu übertragen, doch das habe ich noch nicht verstanden wie das geht. |
Das ist ganz sicher
nicht einfacher, als auf eine Dateifreigabe zuzugreifen; nur manchmal gibt es eben keine andere Möglichkeit, als eine Socketverbindung. :idea:
cu
Narses
Chrischuh - Fr 08.08.08 15:16
Ich kann das Bild im Explorer öffnen.
Ich werde es dann mit den Sockets versuchen.
Ich habe zwei Programme (Server und Client) in beiden ist ein Image aber nur beim Server ist eins geladen.
Jetzt soll das Bild vom Server zum Clienten gesendet werden.
server:
Delphi-Quelltext
1: 2: 3: 4:
| procedure TForm1.Button1Click(Sender: TObject); begin serversocket1.Socket.SendBuf(image1.Picture,sizeof(image1.Picture)); end; |
client:
Delphi-Quelltext
1: 2: 3: 4:
| procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); begin socket.ReceiveBuf(image1.Picture,sizeof(image1.picture)) end; |
Doch dann Kommt die Fehlermeldung:
[Pascal Fehler] Unit1.pas(30): E2197 Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden
und das bei beiden Programmen.
Es geht mir nicht darum das mit den Sockets zu machen sondern nur da Bild vom einen Pc auf den anderen zu übertagen/anzeigen.
Narses - Fr 08.08.08 15:39
Moin!
Chrischuh hat folgendes geschrieben: |
| Ich kann das Bild im Explorer öffnen. |
OK, dann sind alle Netzwerk-Voraussetzungen erfüllt. Greifst du denn korrekt auf den UNC-Pfad (oder hast du ein Laufwerk gemapped?) zu? Sprich: du musst den gleichen Pfad verwenden, der auch im Explorerfenster beim Doppelklicken in der Adresszeile zu sehen war. :idea:
Chrischuh hat folgendes geschrieben: |
| Ich werde es dann mit den Sockets versuchen. |
Ähm, das war die
deutlich schwerere Variante, oder hatte ich mich undeutlich ausgedrückt? :?
Chrischuh hat folgendes geschrieben: |
Delphi-Quelltext 1: 2: 3:
| serversocket1.Socket.SendBuf(image1.Picture,sizeof(image1.Picture));
socket.ReceiveBuf(image1.Picture,sizeof(image1.picture)) | |
Abgesehen von der Fehlermeldung geht das sowieso nicht,
siehe FAQ-Beitrag [
http://www.delphi-library.de/topic_Probleme+beim+SendenEmpfangen+von+records++dyn+Objekten_60793.html]. :|
Chrischuh hat folgendes geschrieben: |
| Es geht mir nicht darum das mit den Sockets zu machen sondern nur da Bild vom einen Pc auf den anderen zu übertagen/anzeigen. |
In diesem Fall solltest du das nochmal mit der Netzwerkfreigabe untersuchen. ;)
cu
Narses
Chrischuh - Fr 08.08.08 17:16
Habs geschafft, man muss den Pfad nehmen der bei rechtemauskilck unter eigenschaften steht nehmen
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!