Bilder auswählen....

Hier können die Unterschiede, Fehler und Probleme zwischen den Versionen bzw. bei der Migration besprochen werden

Moderator: Moderatoren

Antworten
Benutzeravatar
adrian
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 211
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG
Kontaktdaten:

Bilder auswählen....

Beitrag von adrian » Di, 07. Apr 2020 9:14

Hallo zusammen

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:
Lager.jpg
Lager.jpg (54.07 KiB) 1515 mal betrachtet
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
Dieses Verhalten war in der xbase 1.9ner Version nicht vorhanden.

Bin gespannt, wie Ihr dies macht oder einen Tip habt.

es Grüessli aus der Schweiz.

Adrian

Benutzeravatar
Marcus Herz
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 121
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 1 Mal
Kontaktdaten:

Re: Bilder auswählen....

Beitrag von Marcus Herz » Di, 07. Apr 2020 12:21

Hi Adrian
Ich denk, um das zu überschreibende Bild freizugeben, lade doch einfach ein anderes BMP vor dem Kopieren ins das Control. Einfach ein weisses BMP.
Und danach kannst du ja das neue wieder anzeigen

Benutzeravatar
adrian
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 211
Registriert: Mo, 08. Mai 2006 8:58
Wohnort: Aadorf TG
Kontaktdaten:

Re: Bilder auswählen....

Beitrag von adrian » Mi, 08. Apr 2020 12:38

Hoi Marcus

Danke für den Tip, so klappts.

Schöne Ostern.

Adrian

Antworten