25-IV-2000.

The remainder of the VB diary, or how I finally gave up on Visual Basic.

April 2000

Trying to convert solitaire into VB, and of course having all sorts of trouble. Now since VB does have classes in some way, I tried to re-create the card class. I tried with user control, which would be a shape with two labels on it, but then when I tried to instantiate New tCard it wouldn’t let me: the list of things I can create as New is very short and does not include my user object. Then I tried to create a custom class – which turned to be far less useful than I thought. It can have all sorts of properties, but their types are very limited: they can be ordinary variables, or references to already created objects; there doesn’t seem to be a way to create a visual object programmatically, unless it’s compiled as an ActiveX component. So that’s the reason they went for so much ActiveX – they are unable to CreateObject() of any of the classes within the project, or of any of their own base classes. CreateObject() must use external class. And then you can use Dim x as New Whatever, but not everywhere: I tried to add these labels as class properties, and it allowed me to Dim Boja as Label, but then didn’t allow me to create a label object. Of course, the label can be drawn on the form, but why would I want to draw 112 labels manually, and make sure they have reasonable names etc? What do we have the computers for? To do things manually?

Maybe I could try to add these 112 labels to the form, and that would be some hell of an encapsulation – they’d logically belong to cards, and the card’s Boja property would be just a pointer to something that belongs to the form. What a mess.

It may be that I’m just learning how to do it in VB, but it still sucks. They (VBers) got nothing. They don’t even have optiongroups or commandgroups.

At Zero, Larry emailed that "I am going on Vacation from this Friday, April 28th to Monday, May 8th. This means I will be out of the office for a total of 7 weekdays. Felix will be acting Old Hossy coordinator while I am gone. Let's wish him good luck."

Felix then sent me "I’m putting this #344 under you, because once you write the code to fill in all of the rotations for the people in credentialing, then the report itself will print out just like they want. " (I guess the case number... though I don't remember we used any bug tracker app back then, the number may just be manually kept somewhere).

Bata has hit the (now) classic problem of the button in a toolbar not gaining focus, so when he clicks the save, it does save everything except the last textbox, because that textbox hasn't lost focus, and hasn't updated its source field. This problem never went away, but soon there was a good workaround: create a phantom object, invisible (by not setting its .visible to false, that may affect its behavior, but rather by giving it negative coordinates), then force focus on that object, save the record, return focus to the textbox. Among the news, Žika Petrović, director of JAT was found murdered.

On 26th, Brlja reports about one day without power, one without internet, and whole week without the director, as he went to Hungary to visit his son. They held some „Days of Avai“, whatever that was, invited some customers to something. He delivered the package to my parents - sweets, coffee, meds (mostly ibuprofen and vitamins), cosmetics, 200$ and three pictures, work trousers for dad and a pyjama. All the meds, except aspirin, have different names so we will have to write some instructions. The coffee is to be drank at home, and what they drank at home will go to vineyard. Dad is slightly disappointed that his brandy didn't become too popular over here. Well, they don't have the culture.

On twentyeighth, dad again:

Among oter tings, powdered milk was on my grocery list. In alies street tere is a sop „Rinfuz“*. I drop by, queue as if for milk (tey are te ceapest in teir speciality). To question on milk se recites yes tey have it and 100g costs 11 dinars. I didn't want to wait, but rahter, as it's tat expensive, I'd rater buy te original package in a retail sop. I ask in tat sohop on te market, and te clerk directs me to a certain stal on te market were tey have it. And not to take it too long, I bougt bot yesterday and today two 500g packages in alufoil bags at 30 dinars eac, so 120 dinars 2kg, instead of loose 1kg for 110. Te manufacturer of bougt milk from BRD**.

At Zero, servers are running on disk space, so some juggling was performed, people were asked to remove private files and remove non-job-related stuff from the servers. Well, my mrz music (see house dictionary... this was about the time when we, the oldwave, started calling it that) is on my local disk. And, ahem, Larry, Felix and a few other guys would often stay for an hour or two of overtime, playing Halflife. I wonder where that was installed...

----

* literally, loose weight, i.e. any unpackaged (grain, powder, small chunks, pellets) goods, to be weighed upon sale.

** Bundesrepublik Deutschland, aka FRG; this paragraph came in haircut latin, so appropriate treatment applies to translation


Mentions: Avai, Felix Goncour, Goran Staković (Brlja), Hossy, house dictionary, Larry Artois, oldwave, solitaire, Stanimir Kršić (Bata), Zero Distance (Zero), in serbian