Some days are going to be bad. Some days you're not going to give a damn. And that food's never going to go away. It's all a question of what you do about it. The other day, for example, I had a massive chocolate craving. For about ten minutes I toyed with the idea of eating all the chocolate in my fridge (about 1000 calories worth!). But I found a way around it- I posted here to make myself accountable, I found non-chocolate substitutes, I had a backup plan in case it was a chocolate only craving (hot chocolate with unsweetened cocoa and artificial sweetener), I got it down to a level of craving I could manage. It's all about minimising the damage of any of those things. And it's about experimentation.
Re the barbeque, my inclination would be a compromise. Take some food with you and mostly eat that, but (if you can manage it without binging, that's a personal decision) pick at the other food on offer so you're still included. Make (at least a mental) note of what you've eaten, work out the calories/ damage later, make amends (if you've overeaten by 500 calories, reduce your allowance by 100 over 5 days or 50 over 10, for example). Perhaps eat something beforehand so you're not so hungry while you're there and are less tempted by the food (and drink plenty of water for a similar reason).