题目解析:
选项A正确,定作人在承揽人完成工作前可以随时解除承揽合同,造成承揽人损失的,应当赔偿损失 。
选项B错,未经定作人的同意,承揽人将承揽的主要工作交由第三人完成的,定作人可以解除合同。承揽人有权将其承揽的辅助工作交由第三人完成。承揽人将承揽的辅助工作交由第三人完成的,应当就第三人完成的工作成果向定作人负责。
选项C错,除当事人另有约定的外,承揽人应当以自己的设备、技术和劳力完成主要工作。材料不属于必须内容。
选项D错,对支付报酬的期限没有约定或者约定不明确的,可以协议补充;不能达成补充协议的,按照合同有关条款或者交易习惯确定。对于不能达成补充协议,也不能按照合同有关条款或者交易习惯确定的,定作人应当在承揽人交付工作成果时支付;工作成果部分交付的,定作人应当相应支付。