En la inicializacion de Celeste tenemos
openDB "Open an existing mail database." Transcript show: 'Opening mail database ''', rootFilename, '''...'. messageFile := MessageFile openOn: rootFilename, '.messages'. indexFile := IndexFile openOn: rootFilename, '.index' messageFile: messageFile readLogFlag: true. categoriesFile := CategoriesFile openOn: rootFilename, '.categories'. self spamFilter. "Open spam filter file, if necessary." Transcript show: 'Done.'; cr. En este caso rootFilename es nil, por lo que falla Cambie rootFilename "Answer my root filename." ^rootFilename ifNil: [rootFilename := 'EMAIL'] Para que en caso de ser nil, tome el valor que se viene usando en Celeste. Pero sigue fallando: Así que me vi obligado a hacer esta truchada: openDB "Open an existing mail database." rootFilename := self rootFilename. Transcript show: 'Opening mail database ''', rootFilename, '''...'. messageFile := MessageFile openOn: rootFilename, '.messages'. indexFile := IndexFile openOn: rootFilename, '.index' messageFile: messageFile readLogFlag: true. categoriesFile := CategoriesFile openOn: rootFilename, '.categories'. self spamFilter. "Open spam filter file, if necessary." Transcript show: 'Done.'; cr. Y asi ando (³anduvo estupido un tiempo, dijo el cura²) Alguien que sepa Smalltalk , que me aclare porque funciono alguna vez y porque sin la truchada no se ³obliga² a rootFilename a tomar el valor correcto. Edgar |
Hola Edgar.
Muy graciosos algunos mail y la crónicas, gracias por compartirlos a vos (y los demás de la lista). Pero bueno, ahora al problema, estas olvidando el self para "ejecutar" el inicialización tardía: messageFile := MessageFile openOn: *self* rootFilename, '.messages'. Saludos! El 9 de diciembre de 2011 08:00, Edgar J. De Cleene <[hidden email]>escribió: > > > En la inicializacion de Celeste tenemos > > openDB > "Open an existing mail database." > > Transcript show: 'Opening mail database ''', rootFilename, '''...'. > messageFile := MessageFile openOn: rootFilename, '.messages'. > indexFile := IndexFile openOn: rootFilename, '.index' messageFile: > messageFile readLogFlag: true. > categoriesFile := CategoriesFile openOn: rootFilename, '.categories'. > self spamFilter. "Open spam filter file, if necessary." > Transcript show: 'Done.'; cr. > > En este caso rootFilename es nil, por lo que falla > > Cambie > > rootFilename > "Answer my root filename." > > ^rootFilename ifNil: [rootFilename := 'EMAIL'] > > Para que en caso de ser nil, tome el valor que se viene usando en Celeste. > > Pero sigue fallando: > > Así que me vi obligado a hacer esta truchada: > > openDB > "Open an existing mail database." > rootFilename := self rootFilename. > > Transcript show: 'Opening mail database ''', rootFilename, '''...'. > messageFile := MessageFile openOn: rootFilename, '.messages'. > indexFile := IndexFile openOn: rootFilename, '.index' messageFile: > messageFile readLogFlag: true. > categoriesFile := CategoriesFile openOn: rootFilename, '.categories'. > self spamFilter. "Open spam filter file, if necessary." > Transcript show: 'Done.'; cr. > > Y asi ando (“anduvo estupido un tiempo, dijo el cura”) > > Alguien que sepa Smalltalk , que me aclare porque funciono alguna vez y > porque sin la truchada no se “obliga” a rootFilename a tomar el valor > correcto. > > Edgar > > |
In reply to this post by Edgar De Cleene
A ver si entiendo, vos decís que sin asignar a rootFilename el valor de
"self rootFilename" no funciona? no entrega el valor "EMAIL"? No será que rootFilename es una variable común y no una instvar y por lo tanto no preserva el contenido? Me huele a eso, porque si decís que anda con el self, es que lo estás forzando a evaluarse. Fijate que en un workspace si hacés: | rootFilename | ^rootFilename ifNil: [rootFilename := 'EMAIL'] y lo evaluás devuelve 'EMAIL' pero si a continuación evaluás de nuevo, sólo hasta | rootFilename | ^rootFilename devuelve nil. es un buen punto para poner un self halt y mirar qué hace el Smalltalk :) SAludos. El 9 de diciembre de 2011 08:00, Edgar J. De Cleene <[hidden email]>escribió: > ** > > > En la inicializacion de Celeste tenemos > > openDB > "Open an existing mail database." > > Transcript show: 'Opening mail database ''', rootFilename, '''...'. > messageFile := MessageFile openOn: rootFilename, '.messages'. > indexFile := IndexFile openOn: rootFilename, '.index' messageFile: > messageFile readLogFlag: true. > categoriesFile := CategoriesFile openOn: rootFilename, '.categories'. > self spamFilter. "Open spam filter file, if necessary." > Transcript show: 'Done.'; cr. > > En este caso rootFilename es nil, por lo que falla > > Cambie > > rootFilename > "Answer my root filename." > > ^rootFilename ifNil: [rootFilename := 'EMAIL'] > > Para que en caso de ser nil, tome el valor que se viene usando en Celeste. > > Pero sigue fallando: > > Así que me vi obligado a hacer esta truchada: > > openDB > "Open an existing mail database." > rootFilename := self rootFilename. > > Transcript show: 'Opening mail database ''', rootFilename, '''...'. > messageFile := MessageFile openOn: rootFilename, '.messages'. > indexFile := IndexFile openOn: rootFilename, '.index' messageFile: > messageFile readLogFlag: true. > categoriesFile := CategoriesFile openOn: rootFilename, '.categories'. > self spamFilter. "Open spam filter file, if necessary." > Transcript show: 'Done.'; cr. > > Y asi ando (“anduvo estupido un tiempo, dijo el cura”) > > Alguien que sepa Smalltalk , que me aclare porque funciono alguna vez y > porque sin la truchada no se “obliga” a rootFilename a tomar el valor > correcto. > > Edgar > > -- ============================================ Germán S. Arduino <gsa @ arsol.net> Twitter: garduino Arduino Software http://www.arduinosoftware.com PasswordsPro http://www.passwordspro.com Promoter http://www.arsol.biz ============================================ |
In reply to this post by Gastón Dall' Oglio
> Hola Edgar.
> Muy graciosos algunos mail y la crónicas, gracias por compartirlos a vos (y > los demás de la lista). > Pero bueno, ahora al problema, estas olvidando el self para "ejecutar" el > inicialización tardía: > messageFile := MessageFile openOn: self rootFilename, '.messages'. > > Saludos! Si, me imaginaba. Pero el tema es que en el método original no estaba. En fin, Celeste no se toca desde el 2004 y consegui algo de Lex Spoon del 2006. Los que quieran probar , hacer MCHttpRepository location: 'http://www.squeaksource.com/Ladrillos/' user: '' password: '' Y buscar la ultima version Network-Mail Reader-edc.23. Corrijo la truchada y actualizo. Gracias Gaston, ya entro en Skype esperando al ruso (será ruso ?) Edgar |
De nada Edgar.
Un abrazo. El 9 de diciembre de 2011 09:57, Edgar J. De Cleene <[hidden email]>escribió: > > > Hola Edgar. > > Muy graciosos algunos mail y la crónicas, gracias por compartirlos a vos > (y > > los demás de la lista). > > Pero bueno, ahora al problema, estas olvidando el self para "ejecutar" el > > inicialización tardía: > > messageFile := MessageFile openOn: self rootFilename, '.messages'. > > > > Saludos! > > Si, me imaginaba. > > Pero el tema es que en el método original no estaba. > En fin, Celeste no se toca desde el 2004 y consegui algo de Lex Spoon del > 2006. > > Los que quieran probar , hacer > MCHttpRepository > location: 'http://www.squeaksource.com/Ladrillos/' > user: '' > password: '' > > Y buscar la ultima version Network-Mail Reader-edc.23. > Corrijo la truchada y actualizo. > > Gracias Gaston, ya entro en Skype esperando al ruso (será ruso ?) > > Edgar > > > |
Free forum by Nabble | Edit this page |