A Hidden preCond (adv3Lite)

I need to be able to plug a connector on the end of a cable into a particular jack. The connector is, quite naturally, part of the cable, and the library responds:

>put round connector in round jack
You can’t have that, it’s part of the thick cable.

Okay … normally, the PutIn action has objHeld as a preCond of dobjFor(PutIn). So I replaced that with
preCond = [touchObj]
But I get the same result as before. At a guess, the library is trying to detach the Component object (the connector) before inserting it into the Container. But I have been unable to find the code where that logical test is made. I’ll keep hunting, but can anyone suggest a solution?

Can you post some sample code, so we can see what classes are involved and what relationships are in place?

It seems to be working now. I think the verify() block was tripping it up. When I add verify() {logical;} to the PutIn action, the action happens.

2 Likes