Ich habe seit der Umstellung von der 1.9 auf die 2.x Probleme mit Bilderauswahl:
Ich "sehe" zwar der Grund, habe aber im Moment keine Idee wie ich dies umschiffen kann.
Im Lager wähle ich ein Artikel-Bild aus, dieses kopiere ich dann in das Verzeichnis Shop, damit alle relevanten Shop-Bilder in einem Ordner stehen.
Nun ist es so, dass seit der Version 2.x das Bild auf welchem der Artikel "steht" schreibgeschützt ist. Daher, ich kann das Bild nicht mehr mit einem neuen Bild überschreiben. Wenn ich die Datei lösche und ein neues Bild auswähle geht es einmal, danach ist die Image ja wieder vorhanden und eben wieder gesperrt.
Wie macht Ihr dies?
Meine Maske sieht wie folgt aus: Ich werwende die xClass, daher ist der Code eventuell nicht "rein"
Dies ist die Bild auswahl in der Maske:
Code: Alles auswählen
@ DSSLE ::slePfad SELECTFUNC {|| FileAuswahl( ::slePfad, {{"JPG", "*.jpg"},{"JPEG", "*.jpeg"},{"GIF", "*.gif"},{"PNG", "*.png"}} )} ;
VALID {|| FileCheck( ::slePfad)}
::oBild:dataLink := {|x| ::oBild:load(_ARTIKEL_BILD(::oArtikel:ANR,.F.))
Dies wird beim speichern durchgeführt, daher, entweder wird das Bild gelöscht (cbDelBild) oder an die entsprechende Position mit der Artikel-Nummer kopiert und direkt in den Shop geladen. Doch da eben das Bild "blockiert" ist, kann es nicht überschrieben oder gelöscht werden. Sobald ich einen anderen Artikel aufrufe, kann ich über den Explorer das Bild löschen.
Code: Alles auswählen
sSource := ALLTRIM(::slePfad:GetValue())
sTarget := IF(::cbDelBild:GetValue(),_ARTIKEL_BILD(::oArtikel:ANR,.F.),AppIni():GetEntry("SHOP","BILDER")+::oArtikel:ANR+sFormat)
IF ! EMPTY(sSource) .AND. ! EMPTY(sTarget)
CopyFile(sSource,sTarget,1)
BildFTPShop(.F.,self)
ELSEIF ::cbDelBild:GetValue()
DeleteFile(sTarget,1)
BildFTPShop(.T.,self)
ENDIF
Bin gespannt, wie Ihr dies macht oder einen Tip habt.
es Grüessli aus der Schweiz.
Adrian